home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu / macros05.arc / TEST1.LST < prev    next >
File List  |  1990-05-16  |  175KB  |  2,995 lines

  1. M6805 Portable Cross Assembler  0.05   MS-DOS/PC-DOS  Page 1
  2.  Wed May 16 10:07:20 1990 
  3. Command line: 
  4.  C:\BIN\PASM05.EXE -eq -l test1.lst test1.s
  5. Options list: 
  6. ON  - b - Printing of macro definitions
  7. ON  - c - Printing of macro calls
  8. OFF - d - Placing of symbolic debugging information in COFF
  9. ON  - e - Printing of macro expansions  (changed) 
  10. ON  - f - Printing of conditional directives
  11. OFF - g - Printing of generated constants list
  12. ON  - q - Expanding and printing of structured syntax  (changed) 
  13. OFF - s - Printing of symbol table
  14. OFF - u - Printing of conditional unassembled source
  15. OFF - x - Printing of cross reference table
  16. OFF - m - Suppress printing of error messages
  17. ON  - w - Printing of warning messages
  18. OFF - v - Suppress printing of updated status
  19. OFF - y - Enabling of sgs extensions
  20. ON  - o - Create object code
  21. ON  -   - Formatting of source line listing 
  22. Create listing file - l - test1.lst 
  23.  
  24. Xdefs: 
  25.   NONE 
  26.  
  27. Xrefs: 
  28.   NONE 
  29.  
  30. Input file(s): test1.s (185 lines) 
  31.                MACROS05.MAC (2051 lines) RAMSBR.INI (109 lines) 
  32.  
  33. Output file: test1.o  
  34. Listing file: test1.lst 
  35.  
  36. M6805 Portable Cross Assembler  0.05  test1.s  Page 2
  37.  Wed May 16 10:07:20 1990  
  38. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  39. M6805 macro tests: low RAM subr's 
  40. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  41. 00002  A 0060                          ORG   $60      low RAM
  42. 00003                         *    TTL    M6805 macro tests: high RAM subr's
  43. 00004                         *    ORG     $100    high RAM
  44. 00005                         
  45. 00006  A 0060      0000     A ZERO     EQU   $0       
  46. 00007  A 0060      0050     A LOW      EQU   $50      
  47. 00008  A 0060      0052     A CNTL     EQU   LOW+2    
  48. 00009  A 0060      1efc     A CNTH     EQU   $1EFC    
  49. 00010  A 0060      1efe     A HIGH     EQU   CNTH+2   
  50. 00011  A 0060      1e00     A HIGH0    EQU   $1E00    
  51. 00012                         
  52. 00013                                  INCLUDE MACROS05.MAC
  53.  
  54. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 3
  55.  Wed May 16 10:07:20 1990  
  56. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  57. M6805 macro tests: low RAM subr's 
  58. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  59. 00002                         ****************************************************************************
  60. 00003                         *  macros05.mac   1.0
  61. 00004                         *  -------------------------------------------------------------
  62. 00005                         *  Module Name:        MACROS05 - M6805 Macros
  63. 00006                         *  -------------------------------------------------------------
  64. 00007                         *
  65. 00008                         *  Description:
  66. 00009                         *     This file contains macros and subroutines to support pseudo-registers
  67. 00010                         *     on the 6805 that simulate registers and addressing modes available on
  68. 00011                         *     the 68HC11.  It is suitable for "black box" operation, i.e., the
  69. 00012                         *     macros may be used without knowledge of how they work.  A list of the
  70. 00013                         *     supported macros follows.  Consult the individual macro headers for
  71. 00014                         *     usage details and see the "Notes" below.
  72. 00015                         *
  73. 00016                         *         LDD       Load DREG
  74. 00017                         *         STD       Store DREG
  75. 00018                         *         ADDD      Add   DREG
  76. 00019                         *         SUBD      Add   DREG
  77. 00020                         *         CPD       Compare DREG
  78. 00021                         *         LDAXY     Load  A via 16-bit pseudo-register (XREG or YREG)
  79. 00022                         *         STAXY     Store A via 16-bit pseudo-register (XREG or YREG)
  80. 00023                         *         LDXR      Load  XREG
  81. 00024                         *         STXR      Store  XREG
  82. 00025                         *         INCXR     Increment XREG
  83. 00026                         *         DECXR     Decrement XREG
  84. 00027                         *         CPXR      Compare XREG
  85. 00028                         *         LDYR      Load  YREG
  86. 00029                         *         STYR      Store  YREG
  87. 00030                         *         INCYR     Increment YREG
  88. 00031                         *         DECYR     Decrement YREG
  89. 00032                         *         CPYR      Compare YREG
  90. 00033                         *         DEC.B     Decrement byte
  91. 00034                         *         DEC.W     Decrement word
  92. 00035                         *         INC.B     Increment byte
  93. 00036                         *         INC.W     Increment word
  94. 00037                         *         MOV.B     Move byte
  95. 00038                         *         MOV.W     Move word
  96. 00039                         *         MOVE      Move block of memory
  97. 00040                         *
  98. 00041                         * General Information:
  99. 00042                         *   The following pseudo-registers are supported.
  100. 00043                         *     DREG = pseudo 16-bit accumulator (A,X registers, A is MS half)
  101. 00044                         *     XREG = pseudo 16-bit index register
  102. 00045                         *     YREG = pseudo 16-bit index register
  103. 00046                         *
  104. 00047                         *   The following terms are used.
  105. 00048                         *     #          = specifies immediate addressing mode
  106. 00049                         *     <address>  = address/value operand (absolute or immediate)
  107. 00050                         *     <offset>   = unsigned 16-bit offset for indexed addressing
  108. 00051                         *
  109. 00052                         *  Notes:
  110.  
  111. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 4
  112.  Wed May 16 10:07:20 1990  
  113. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  114. M6805 macro tests: low RAM subr's 
  115. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  116. 00053                         *     1. Motorola reserves the right to make changes to this file.
  117. 00054                         *        Although this file has been carefully reviewed and is believed
  118. 00055                         *        to be reliable, Motorola does not assume any liability arising
  119. 00056                         *        out of its use.  This code may be freely used and/or modified at
  120. 00057                         *        no cost or obligation by the user.
  121. 00058                         *     2. This file was made for use with the Motorola Development Systems
  122. 00059                         *        MC6805 Portable Assembler/Linker for MS-DOS, known as PASM05 and
  123. 00060                         *        PLD, as released on 82HCVBASM B* and 82HCVBLNK B*.  Consult the
  124. 00061                         *        PASM and PLD reference manuals, part numbers M68HASM/D1 and
  125. 00062                         *        M68HLINK/D1, for more details.
  126. 00063                         *     3. These macros were made for ABSOLUTE assemblies only, i.e., for
  127. 00064                         *        use with ORG directives.  While most of the macro concepts will
  128. 00065                         *        work in relocatable assemblies (BSCT, DSCT, PSCT, ASCT, XDEF,
  129. 00066                         *        and XREF), errors will be generated because PASM limits the use
  130. 00067                         *        of external symbols in expressions and because the value of an
  131. 00068                         *        expression must be known at assembly time for IFxx directives to
  132. 00069                         *        assemble the proper code.  The first restriction is a result of
  133. 00070                         *        limitations in the COFF object file format.  If it is desired to
  134. 00071                         *        have these macros work with relocatable assemblies, modifica-
  135. 00072                         *        tions similar to below should be made, but be forewarned of the
  136. 00073                         *        increased inefficiencies in size and speed.  Consider the
  137. 00074                         *        following code to change the LDD macro so that an XREF parameter,
  138. 00075                         *        \1, can be loaded as an immediate value.
  139. 00076                         *                         LDA      \.8
  140. 00077                         *                         LDX      \.8+1
  141. 00078                         *                         BRA      \.9
  142. 00079                         *                \.8      FDB      \1
  143. 00080                         *                \.9      EQU      *
  144. 00081                         *     4. In order to efficiently support both LOAD and STORE operations
  145. 00082                         *        for the pseudo 16-bit index registers, there are actually two
  146. 00083                         *        such "registers", i.e., one for LOAD and one for STORE as
  147. 00084                         *        defined below.  These routines maintain both "registers" with
  148. 00085                         *        the same value, and so the programmer may think of them as one
  149. 00086                         *        register.
  150. 00087                         *               XREG1$  = 16-bit XREG for LOAD  operations
  151. 00088                         *               XREG2$  = 16-bit XREG for STORE operations
  152. 00089                         *               YREG1$  = 16-bit YREG for LOAD  operations
  153. 00090                         *               YREG2$  = 16-bit YREG for STORE operations
  154. 00091                         *     5. These macros can be used to create in-line code (speed
  155. 00092                         *        efficient) or they be placed in a subroutine (byte efficient).
  156. 00093                         *     6. Instruction modified code is used here and is denoted by use
  157. 00094                         *        of the unique string "0-0" (RAM subroutines).
  158. 00095                         *     7. Some macros use temporary storage locations (TEMPA$, TESTA$,
  159. 00096                         *        etc.), so these macros should not be used in any interrupt
  160. 00097                         *        routine in order to avoid corrupted values!
  161. 00098                         *     8. The user must ensure that the code is appropriately placed in
  162. 00099                         *        the target M6805's memory map, i.e., the RAM subroutines MUST
  163. 00100                         *        be located in RAM but must not overlap the stack area ($00C0-
  164. 00101                         *        00FF) unless it can be GUARANTEED there is no conflict!  See
  165. 00102                         *        LO$MEM below to set low memory data storage area!
  166. 00103                         *     9. To use this file, either use an INCLUDE statement or just
  167. 00104                         *        merge this file into your source code file.  Consult your
  168.  
  169. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 5
  170.  Wed May 16 10:07:20 1990  
  171. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  172. M6805 macro tests: low RAM subr's 
  173. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  174. 00105                         *        assembler's user's manual for the details specific to your
  175. 00106                         *        situation.  When using a ROM controlled system, the MOVE
  176. 00107                         *        macro should be used to copy the RAM subroutines from ROM to
  177. 00108                         *        RAM (see the comments after where RAMSBR$ is defined below
  178. 00109                         *        and note the INCLUDE statement for the RAMSBR.INI file).
  179. 00110                         *        Reference the code segment example below for usage ideas
  180. 00111                         *        (shown in PASM05 for MS-DOS syntax).
  181. 00112                         *
  182. 00113                         *                 ORG      $50
  183. 00114                         *        TOTAL    RMB      2
  184. 00115                         *        RTABLE   RMB      5
  185. 00116                         *                 INCLUDE  MACROS05.MAC
  186. 00117                         *
  187. 00118                         *                 ORG      $400
  188. 00119                         *        RESET    RSP
  189. 00120                         *                 MOVE     #,.RAMSBR$,#,RAMSBR$,#,RAMSZ$  Init ram.
  190. 00121                         *        START    MOV.W    #,0,TOTAL
  191. 00122                         *                 LDD      COST
  192. 00123                         *                 ADDD     #,1000
  193. 00124                         *                 SUBD     #,ADJUST
  194. 00125                         *                 ADDD     TOTAL
  195. 00126                         *                 STDD     TOTAL
  196. 00127                         *                 CPD      #,1500
  197. 00128                         *                 BEQ      MATCH
  198. 00129                         *        *
  199. 00130                         *                 LDXR     #,0
  200. 00131                         *                 LDYR     #,0
  201. 00132                         *        LOOP     LDAXY    TABLE,XREG
  202. 00133                         *                 STAXY    RTABLE,YREG
  203. 00134                         *                 INCXR
  204. 00135                         *                 INCYR
  205. 00136                         *                 CPY      #,5
  206. 00137                         *                 BNE      LOOP
  207. 00138                         *                 .
  208. 00139                         *                 .
  209. 00140                         *                 INCLUDE  RAMSBR.INI
  210. 00141                         *        TABLE    FCB      1,2,3,4,5
  211. 00142                         *        ADJUST   FDB      150
  212. 00143                         *        COST     FDB      859
  213. 00144                         *                 .
  214. 00145                         *                 .
  215. 00146                         *                 END
  216. 00147                         *
  217. 00148                         *    10. To assemble, use the following sample invocation lines:
  218. 00149                         *          pasm05 -eq -l filename.lst filename.s    (debug= expanded)
  219. 00150                         *            or
  220. 00151                         *          pasm05 -bf -l filename.lst filename.s    (black box)
  221. 00152                         *    11. Notations used by PASM05 are as follows:
  222. 00153                         *          OPERATORS:  Special two character operators used are...
  223. 00154                         *                        1. Logical AND                       !.
  224. 00155                         *                        2. Shift Right (0 fill on left)      !>
  225. 00156                         *          MACROS:     Special notations used are...
  226.  
  227. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 6
  228.  Wed May 16 10:07:20 1990  
  229. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  230. M6805 macro tests: low RAM subr's 
  231. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  232. 00157                         *                        1. Parameters are positionally named using \0,
  233. 00158                         *                           \1, \2, etc.
  234. 00159                         *                        2. Labels within macros are designated via \.a,
  235. 00160                         *                           where "a" is an alphanumeric character.  The
  236. 00161                         *                           assembler generates a unique label to avoid
  237. 00162                         *                           multiply defined label problems.
  238. 00163                         *    12. Some macros access 16-bit values as LS byte then MS byte in order
  239. 00164                         *        to be more efficient for condition code (CC) setting.  This is
  240. 00165                         *        the reverse order that the 68HC11 would access the two byte
  241. 00166                         *        halves.  This difference would only be a concern in accessing
  242. 00167                         *        hardware registers, as normal RAM makes no difference.  Those
  243. 00168                         *        macros with this difference have an entry in their Notes section.
  244. 00169                         *    13. The latest version of this file is maintained on the Motorola
  245. 00170                         *        FREEWARE Bulletin Board, 512/891-FREE (512/891-3733).  It operates
  246. 00171                         *        continuously (except for maintenance) at 1200-2400 baud, 8 bits,
  247. 00172                         *        no parity.  Sample test files for PASM05 are also included.
  248. 00173                         *        Download the archive file, MACROS05.ARC, to get all the files.
  249. 00174                         *
  250. 00175                         **************************************************************************
  251. 00176                         *  REVISION HISTORY   (add new changes to top):
  252. 00177                         *
  253. 00178                         *  05/16/90  P.S. Gilmour
  254. 00179                         *    1. Created for Application Note AN1055.
  255. 00180                         **************************************************************************
  256. 00181  A 0060      00b9     A LO$MEM   EQU   $00C0-7  Low memory ($0000-00FF) storage (7 bytes)
  257. 00182                         
  258. 00183                                  OPT   NOL      
  259. 01963                                  OPT   L        
  260. 01964  A 0060      0060     A RAMSBR$  EQU   *        Start of RAM based subroutines!
  261. 01965                         **************************************************************************
  262. 01966                         **  The following RAM subroutines MUST BE INITIALIZED from ROM upon     **
  263. 01967                         **  startup (from 'RAMSBR$' for 'RAMSZ$' number of bytes).  If changes  **
  264. 01968                         **  are to be made to the RAM subroutines, make them here.  Then copy   **
  265. 01969                         **  the source below to the ROM area and insert a '.' in front of all   **
  266. 01970                         **  the labels (leading '.' will be used to denote ROM).  This has      **
  267. 01971                         **  already been done for you in the RAMSBR.INI file.  Just include     **
  268. 01972                         **  this file into your ROM data area and add the following line in     **
  269. 01973                         **  your RESET routine to initialize the RAM subroutines from the ROM.  **
  270. 01974                         **                MOVE   #,.RAMSBR,#,RAMSBR,#,RAMSZ$                    **
  271. 01975                         **  It is more efficient if the RAM subroutines are placed in DIRECT    **
  272. 01976                         **  addressing memory, i.e., $0000-$00FF, but it is not required.       **
  273. 01977                         **************************************************************************
  274. 01978                         
  275. 01979                         *-- start of RAM subroutines --------------------------------------------*
  276. 01980                         **************************************************************************
  277. 01981                         *  LDAXREG = load A via XREG subr.
  278. 01982                         *
  279. 01983                         *  Register Usage:
  280. 01984                         *     CC = reflects value loaded.
  281. 01985                         *     All other registers preserved.
  282. 01986                         *
  283. 01987                         *  NOTE:
  284.  
  285. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 7
  286.  Wed May 16 10:07:20 1990  
  287. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  288. M6805 macro tests: low RAM subr's 
  289. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  290. 01988                         *    1. Instruction modified code here must be located in RAM!
  291. 01989                         *
  292. 01990  A 0060      0060     A LDAXREG  EQU   *        
  293. 01991  A 0060 c6   ffff     A          LDA   0-0+$FFFF
  294. 01992  A 0063      0061     A XREG1$   EQU   *-2      Pseudo XREG #1
  295. 01993  A 0063 81                       RTS            
  296. 01994                         
  297. 01995                         **************************************************************************
  298. 01996                         *  STAXREG = store A via XREG subr.
  299. 01997                         *
  300. 01998                         *  Register Usage:
  301. 01999                         *     CC = reflects value stored.
  302. 02000                         *     All other registers preserved.
  303. 02001                         *
  304. 02002                         *  NOTE:
  305. 02003                         *    1. Instruction modified code here must be located in RAM!
  306. 02004                         *
  307. 02005  A 0064      0064     A STAXREG  EQU   *        
  308. 02006  A 0064 c7   ffff     A          STA   0-0+$FFFF
  309. 02007  A 0067      0065     A XREG2$   EQU   *-2      Pseudo XREG #2
  310. 02008  A 0067 81                       RTS            
  311. 02009                         
  312. 02010                         **************************************************************************
  313. 02011                         *  LDAYREG = load A via YREG subr.
  314. 02012                         *
  315. 02013                         *  Register Usage:
  316. 02014                         *     CC = reflects value loaded.
  317. 02015                         *     All other registers preserved.
  318. 02016                         *
  319. 02017                         *  NOTE:
  320. 02018                         *    1. Instruction modified code here must be located in RAM!
  321. 02019                         *
  322. 02020  A 0068      0068     A LDAYREG  EQU   *        
  323. 02021  A 0068 c6   ffff     A          LDA   0-0+$FFFF
  324. 02022  A 006b      0069     A YREG1$   EQU   *-2      Pseudo YREG #1
  325. 02023  A 006b 81                       RTS            
  326. 02024                         
  327. 02025                         **************************************************************************
  328. 02026                         *  STAYREG = store A via YREG subr.
  329. 02027                         *
  330. 02028                         *  Register Usage:
  331. 02029                         *     CC = reflects value stored.
  332. 02030                         *     All other registers preserved.
  333. 02031                         *
  334. 02032                         *  NOTE:
  335. 02033                         *    1. Instruction modified code here must be located in RAM!
  336. 02034                         *
  337. 02035  A 006c      006c     A STAYREG  EQU   *        
  338. 02036  A 006c c7   ffff     A          STA   0-0+$FFFF
  339. 02037  A 006f      006d     A YREG2$   EQU   *-2      Pseudo YREG #2
  340. 02038  A 006f 81                       RTS            
  341. 02039                         *-- end of RAM subroutines ----------------------------------------------*
  342.  
  343. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 8
  344.  Wed May 16 10:07:20 1990  
  345. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  346. M6805 macro tests: low RAM subr's 
  347. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  348. 02040                         
  349. 02041  A 0070      0010     A RAMSZ$   EQU   *-RAMSBR$ Size of ram subroutines (in bytes).
  350. 02042                         
  351. 02043  A 00b9                          ORG   LO$MEM   
  352. 02044                         * NOTE: TEMPA$ and TESTA$ must always be in low memory $0000-00FF.
  353. 02045  A 00b9      01       A TEMPA$   RMB   1        Temporary storage for A accumulator.
  354. 02046  A 00ba      01       A TEMPX$   RMB   1        Temporary storage for X register.
  355. 02047  A 00bb      02       A TEMPXR$  RMB   2        Temporary storage for XREG register.
  356. 02048  A 00bd      01       A TESTA$   RMB   1        Temporary operand storage for setting CC bits.
  357. 02049  A 00be      02       A LENGTH$  RMB   2        Temporary operand length.
  358. 02050                         
  359. 02051                         **************************************************************************
  360. 00014                         
  361. 00015  A 0400                          ORG   $400     
  362. 00016                                  INCLUDE RAMSBR.INI
  363. 00001                         
  364. 00002                         ****************************************************************************
  365. 00003                         *  ramsbr.ini   1.0
  366. 00004                         *  -------------------------------------------------------------
  367. 00005                         *  Module Name:        RAMSBR - RAM Subroutine Initialization
  368. 00006                         *  -------------------------------------------------------------
  369. 00007                         *
  370. 00008                         *  Description:
  371. 00009                         *     This file contains the initialization code for the RAM subroutine
  372. 00010                         *     area needed to support the MACROS05.MAC file.  It MUST be placed in
  373. 00011                         *     the ROM data area and then copied to RAM for proper operation.
  374. 00012                         *     Consult the MACROS05.MAC file for more details.
  375. 00013                         *
  376. 00014                         ****************************************************************************
  377. 00015                         *
  378. 00016                         *  Notes:
  379. 00017                         *     1. Motorola reserves the right to make changes to this file.
  380. 00018                         *        Although this file has been carefully reviewed and is
  381. 00019                         *        believed to be reliable, Motorola does not assume any
  382. 00020                         *        liability arising out of its use.  This code may be freely
  383. 00021                         *        used and/or modified at no cost or obligation by the user.
  384. 00022                         *     2. The latest version of this file is maintained on the Motorola
  385. 00023                         *        FREEWARE Bulletin Board, 512/891-FREE (512/891-3733).  It operates
  386. 00024                         *        continuously (except for maintenance) at 1200-2400 baud, 8 bits,
  387. 00025                         *        no parity.  Sample test files for PASM05 are also included.
  388. 00026                         *        Download the archive file, MACROS05.ARC, to get all the files.
  389. 00027                         *
  390. 00028                         **************************************************************************
  391. 00029                         *  REVISION HISTORY   (add new changes to top):
  392. 00030                         *
  393. 00031                         *  05/16/90  P.S. Gilmour
  394. 00032                         *    1. Original entry generated from MACROS05.MAC version 1.0.
  395. 00033                         ****************************************************************************
  396. 00034                         
  397. 00035  A 0400      0400     A .RAMSBR$ EQU   *        Start of RAM based subroutines!
  398. 00036                         **************************************************************************
  399. 00037                         **  The following RAM subroutines MUST BE INITIALIZED from ROM upon     **
  400.  
  401. M6805 Portable Cross Assembler  0.05  RAMSBR.INI  Page 9
  402.  Wed May 16 10:07:20 1990  
  403. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  404. M6805 macro tests: low RAM subr's 
  405. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  406. 00038                         **  startup (from 'RAMSBR$' for 'RAMSZ$' number of bytes).  If changes  **
  407. 00039                         **  are to be made to the RAM subroutines, make them in the MACROS05.MAC**
  408. 00040                         **  file and then copy the source here (ROM area) and insert a '.' in   **
  409. 00041                         **  front of all the labels (leading '.' will be used to denote ROM).   **
  410. 00042                         **************************************************************************
  411. 00043                         
  412. 00044                         *-- start of RAM subroutines --------------------------------------------*
  413. 00045                         **************************************************************************
  414. 00046                         *  LDAXREG = load A via XREG subr.
  415. 00047                         *
  416. 00048                         *  Register Usage:
  417. 00049                         *     CC = reflects value loaded.
  418. 00050                         *     All other registers preserved.
  419. 00051                         *
  420. 00052                         *  NOTE:
  421. 00053                         *    1. Instruction modified code here must be located in RAM!
  422. 00054                         *
  423. 00055  A 0400      0400     A .LDAXREG EQU   *        
  424. 00056  A 0400 c6   ffff     A          LDA   0-0+$FFFF
  425. 00057  A 0403      0401     A .XREG1$  EQU   *-2      Pseudo XREG #1
  426. 00058  A 0403 81                       RTS            
  427. 00059                         
  428. 00060                         **************************************************************************
  429. 00061                         *  STA$X = store A via XREG subr.
  430. 00062                         *
  431. 00063                         *  Register Usage:
  432. 00064                         *     CC = reflects value stored.
  433. 00065                         *     All other registers preserved.
  434. 00066                         *
  435. 00067                         *  NOTE:
  436. 00068                         *    1. Instruction modified code here must be located in RAM!
  437. 00069                         *
  438. 00070  A 0404      0404     A .STA$X   EQU   *        
  439. 00071  A 0404 c7   ffff     A          STA   0-0+$FFFF
  440. 00072  A 0407      0405     A .XREG2$  EQU   *-2      Pseudo XREG #2
  441. 00073  A 0407 81                       RTS            
  442. 00074                         
  443. 00075                         **************************************************************************
  444. 00076                         *  LDAYREG = load A via YREG subr.
  445. 00077                         *
  446. 00078                         *  Register Usage:
  447. 00079                         *     CC = reflects value loaded.
  448. 00080                         *     All other registers preserved.
  449. 00081                         *
  450. 00082                         *  NOTE:
  451. 00083                         *    1. Instruction modified code here must be located in RAM!
  452. 00084                         *
  453. 00085  A 0408      0408     A .LDAYREG EQU   *        
  454. 00086  A 0408 c6   ffff     A          LDA   0-0+$FFFF
  455. 00087  A 040b      0409     A .YREG1$  EQU   *-2      Pseudo YREG #1
  456. 00088  A 040b 81                       RTS            
  457. 00089                         
  458.  
  459. M6805 Portable Cross Assembler  0.05  RAMSBR.INI  Page 10
  460.  Wed May 16 10:07:20 1990  
  461. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  462. M6805 macro tests: low RAM subr's 
  463. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  464. 00090                         **************************************************************************
  465. 00091                         *  STA$Y = store A via YREG subr.
  466. 00092                         *
  467. 00093                         *  Register Usage:
  468. 00094                         *     CC = reflects value stored.
  469. 00095                         *     All other registers preserved.
  470. 00096                         *
  471. 00097                         *  NOTE:
  472. 00098                         *    1. Instruction modified code here must be located in RAM!
  473. 00099                         *
  474. 00100  A 040c      040c     A .STA$Y   EQU   *        
  475. 00101  A 040c c7   ffff     A          STA   0-0+$FFFF
  476. 00102  A 040f      040d     A .YREG2$  EQU   *-2      Pseudo YREG #2
  477. 00103  A 040f 81                       RTS            
  478. 00104                         *-- end of RAM subroutines ----------------------------------------------*
  479. 00105                         
  480. 00106  A 0410      0010     A .RAMSZ$  EQU   *-.RAMSBR$ Size of ram subroutines (in bytes).
  481. 00107                                  IFNE  RAMSZ$-.RAMSZ$
  482. 00109                                  ENDC           
  483. 00017                         
  484. 00018  A 0410      0410     A START    EQU   *        
  485. 00019                         * @@@@@@@@ DREG tests start here
  486. 00020         MACRO INV                LDD   ZERO     !-------------------------
  487. 00020 +                                IFEQ  NARG-1   
  488. 00020 +A 0410 be   01       A          LDX   (ZERO)+1 
  489. 00020 +A 0412 b6   00       A          LDA   (ZERO)   
  490. 00021         MACRO INV                LDD   LOW      !-------------------------
  491. 00021 +                                IFEQ  NARG-1   
  492. 00021 +A 0414 be   51       A          LDX   (LOW)+1  
  493. 00021 +A 0416 b6   50       A          LDA   (LOW)    
  494. 00022         MACRO INV                LDD   HIGH     !-------------------------
  495. 00022 +                                IFEQ  NARG-1   
  496. 00022 +A 0418 ce   1eff     A          LDX   (HIGH)+1 
  497. 00022 +A 041b c6   1efe     A          LDA   (HIGH)   
  498. 00023         MACRO INV                LDD   #,0      !-------------------------
  499. 00023 +                                IFEQ  NARG-1   
  500. 00023 +                                ENDC           
  501. 00023 +                                IFEQ  NARG-2   
  502. 00023 +                                IFC   '#','#'  
  503. 00023 +                                IFEQ  (0)!.$FF 
  504. 00023 +A 041e 5f                       CLRX           
  505. 00023 +                                ENDC           
  506. 00023 +                                IFNE  (0)!.$FF 
  507. 00023 +                                ENDC           
  508. 00023 +                                IFEQ  (0)!>8   
  509. 00023 +A 041f 4f                       CLRA           
  510. 00023 +                                ENDC           
  511. 00023 +                                IFNE  (0)!>8   
  512. 00023 +                                ENDC           
  513. 00024         MACRO INV                LDD   #,LOW    !-------------------------
  514. 00024 +                                IFEQ  NARG-1   
  515. 00024 +                                ENDC           
  516.  
  517. M6805 Portable Cross Assembler  0.05  test1.s  Page 11
  518.  Wed May 16 10:07:20 1990  
  519. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  520. M6805 macro tests: low RAM subr's 
  521. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  522. 00024 +                                IFEQ  NARG-2   
  523. 00024 +                                IFC   '#','#'  
  524. 00024 +                                IFEQ  (LOW)!.$FF
  525. 00024 +                                ENDC           
  526. 00024 +                                IFNE  (LOW)!.$FF
  527. 00024 +A 0420 ae   50       A          LDX   #(LOW)!.$FF
  528. 00024 +                                ENDC           
  529. 00024 +                                IFEQ  (LOW)!>8 
  530. 00024 +A 0422 4f                       CLRA           
  531. 00024 +                                ENDC           
  532. 00024 +                                IFNE  (LOW)!>8 
  533. 00024 +                                ENDC           
  534. 00025         MACRO INV                LDD   #,HIGH   !-------------------------
  535. 00025 +                                IFEQ  NARG-1   
  536. 00025 +                                ENDC           
  537. 00025 +                                IFEQ  NARG-2   
  538. 00025 +                                IFC   '#','#'  
  539. 00025 +                                IFEQ  (HIGH)!.$FF
  540. 00025 +                                ENDC           
  541. 00025 +                                IFNE  (HIGH)!.$FF
  542. 00025 +A 0423 ae   fe       A          LDX   #(HIGH)!.$FF
  543. 00025 +                                ENDC           
  544. 00025 +                                IFEQ  (HIGH)!>8
  545. 00025 +                                ENDC           
  546. 00025 +                                IFNE  (HIGH)!>8
  547. 00025 +A 0425 a6   1e       A          LDA   #(HIGH)!>8
  548. 00025 +                                ENDC           
  549. 00026         MACRO INV                LDD   #,HIGH0  !-------------------------
  550. 00026 +                                IFEQ  NARG-1   
  551. 00026 +                                ENDC           
  552. 00026 +                                IFEQ  NARG-2   
  553. 00026 +                                IFC   '#','#'  
  554. 00026 +                                IFEQ  (HIGH0)!.$FF
  555. 00026 +A 0427 5f                       CLRX           
  556. 00026 +                                ENDC           
  557. 00026 +                                IFNE  (HIGH0)!.$FF
  558. 00026 +                                ENDC           
  559. 00026 +                                IFEQ  (HIGH0)!>8
  560. 00026 +                                ENDC           
  561. 00026 +                                IFNE  (HIGH0)!>8
  562. 00026 +A 0428 a6   1e       A          LDA   #(HIGH0)!>8
  563. 00026 +                                ENDC           
  564. 00027         MACRO INV                STD   LOW      !-------------------------
  565. 00027 +A 042a bf   51       A          STX   (LOW)+1  
  566. 00027 +A 042c b7   50       A          STA   (LOW)    
  567. 00027 +                       
  568. 00028         MACRO INV                STD   HIGH     !-------------------------
  569. 00028 +A 042e cf   1eff     A          STX   (HIGH)+1 
  570. 00028 +A 0431 c7   1efe     A          STA   (HIGH)   
  571. 00028 +                       
  572. 00029                         
  573. 00030         MACRO INV                ADDD  LOW      !-------------------------
  574.  
  575. M6805 Portable Cross Assembler  0.05  test1.s  Page 12
  576.  Wed May 16 10:07:20 1990  
  577. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  578. M6805 macro tests: low RAM subr's 
  579. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  580. 00030 +                                IFEQ  NARG-1   
  581. 00030 +A 0434 b7   b9       A          STA   TEMPA$   
  582. 00030 +A 0436 9f                       TXA            
  583. 00030 +A 0437 bb   51       A          ADD   (LOW)+1  
  584. 00030 +A 0439 97                       TAX            
  585. 00030 +A 043a b6   b9       A          LDA   TEMPA$   
  586. 00030 +A 043c b9   50       A          ADC   (LOW)    
  587. 00031         MACRO INV                ADDD  HIGH     !-------------------------
  588. 00031 +                                IFEQ  NARG-1   
  589. 00031 +A 043e b7   b9       A          STA   TEMPA$   
  590. 00031 +A 0440 9f                       TXA            
  591. 00031 +A 0441 cb   1eff     A          ADD   (HIGH)+1 
  592. 00031 +A 0444 97                       TAX            
  593. 00031 +A 0445 b6   b9       A          LDA   TEMPA$   
  594. 00031 +A 0447 c9   1efe     A          ADC   (HIGH)   
  595. 00032         MACRO INV                ADDD  #,LOW    !-------------------------
  596. 00032 +                                IFEQ  NARG-1   
  597. 00032 +                                ENDC           
  598. 00032 +                                IFEQ  NARG-2   
  599. 00032 +                                IFC   '#','#'  
  600. 00032 +A 044a b7   b9       A          STA   TEMPA$   
  601. 00032 +A 044c 9f                       TXA            
  602. 00032 +A 044d ab   50       A          ADD   #(LOW)!.$FF
  603. 00032 +A 044f 97                       TAX            
  604. 00032 +A 0450 b6   b9       A          LDA   TEMPA$   
  605. 00032 +A 0452 a9   00       A          ADC   #(LOW)!>8
  606. 00033         MACRO INV                ADDD  #,HIGH   !-------------------------
  607. 00033 +                                IFEQ  NARG-1   
  608. 00033 +                                ENDC           
  609. 00033 +                                IFEQ  NARG-2   
  610. 00033 +                                IFC   '#','#'  
  611. 00033 +A 0454 b7   b9       A          STA   TEMPA$   
  612. 00033 +A 0456 9f                       TXA            
  613. 00033 +A 0457 ab   fe       A          ADD   #(HIGH)!.$FF
  614. 00033 +A 0459 97                       TAX            
  615. 00033 +A 045a b6   b9       A          LDA   TEMPA$   
  616. 00033 +A 045c a9   1e       A          ADC   #(HIGH)!>8
  617. 00034                         
  618. 00035         MACRO INV                SUBD  LOW      !-------------------------
  619. 00035 +                                IFEQ  NARG-1   
  620. 00035 +A 045e b7   b9       A          STA   TEMPA$   
  621. 00035 +A 0460 9f                       TXA            
  622. 00035 +A 0461 b0   51       A          SUB   (LOW)+1  
  623. 00035 +A 0463 97                       TAX            
  624. 00035 +A 0464 b6   b9       A          LDA   TEMPA$   
  625. 00035 +A 0466 b2   50       A          SBC   (LOW)    
  626. 00036         MACRO INV                SUBD  HIGH     !-------------------------
  627. 00036 +                                IFEQ  NARG-1   
  628. 00036 +A 0468 b7   b9       A          STA   TEMPA$   
  629. 00036 +A 046a 9f                       TXA            
  630. 00036 +A 046b c0   1eff     A          SUB   (HIGH)+1 
  631. 00036 +A 046e 97                       TAX            
  632.  
  633. M6805 Portable Cross Assembler  0.05  test1.s  Page 13
  634.  Wed May 16 10:07:20 1990  
  635. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  636. M6805 macro tests: low RAM subr's 
  637. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  638. 00036 +A 046f b6   b9       A          LDA   TEMPA$   
  639. 00036 +A 0471 c2   1efe     A          SBC   (HIGH)   
  640. 00037         MACRO INV                SUBD  #,LOW    !-------------------------
  641. 00037 +                                IFEQ  NARG-1   
  642. 00037 +                                ENDC           
  643. 00037 +                                IFEQ  NARG-2   
  644. 00037 +                                IFC   '#','#'  
  645. 00037 +A 0474 b7   b9       A          STA   TEMPA$   
  646. 00037 +A 0476 9f                       TXA            
  647. 00037 +A 0477 a0   50       A          SUB   #(LOW)!.$FF
  648. 00037 +A 0479 97                       TAX            
  649. 00037 +A 047a b6   b9       A          LDA   TEMPA$   
  650. 00037 +A 047c a2   00       A          SBC   #(LOW)!>8
  651. 00038         MACRO INV                SUBD  #,HIGH   !-------------------------
  652. 00038 +                                IFEQ  NARG-1   
  653. 00038 +                                ENDC           
  654. 00038 +                                IFEQ  NARG-2   
  655. 00038 +                                IFC   '#','#'  
  656. 00038 +A 047e b7   b9       A          STA   TEMPA$   
  657. 00038 +A 0480 9f                       TXA            
  658. 00038 +A 0481 a0   fe       A          SUB   #(HIGH)!.$FF
  659. 00038 +A 0483 97                       TAX            
  660. 00038 +A 0484 b6   b9       A          LDA   TEMPA$   
  661. 00038 +A 0486 a2   1e       A          SBC   #(HIGH)!>8
  662. 00039                         
  663. 00040         MACRO INV                CPD   ZERO     !-------------------------
  664. 00040 +                                IFEQ  NARG-1   
  665. 00040 +A 0488 b3   01       A          CPX   (ZERO)+1 
  666. 00040 +A 048a 26   02    048e          BNE   .00017   
  667. 00040 +A 048c b1   00       A          CMP   (ZERO)   
  668. 00040 +A 048e      048e     A .00017   EQU   *        
  669. 00041         MACRO INV                CPD   LOW      !-------------------------
  670. 00041 +                                IFEQ  NARG-1   
  671. 00041 +A 048e b3   51       A          CPX   (LOW)+1  
  672. 00041 +A 0490 26   02    0494          BNE   .00018   
  673. 00041 +A 0492 b1   50       A          CMP   (LOW)    
  674. 00041 +A 0494      0494     A .00018   EQU   *        
  675. 00042         MACRO INV                CPD   HIGH     !-------------------------
  676. 00042 +                                IFEQ  NARG-1   
  677. 00042 +A 0494 c3   1eff     A          CPX   (HIGH)+1 
  678. 00042 +A 0497 26   03    049c          BNE   .00019   
  679. 00042 +A 0499 c1   1efe     A          CMP   (HIGH)   
  680. 00042 +A 049c      049c     A .00019   EQU   *        
  681. 00043         MACRO INV                CPD   #,0      !-------------------------
  682. 00043 +                                IFEQ  NARG-1   
  683. 00043 +                                ENDC           
  684. 00043 +                                IFEQ  NARG-2   
  685. 00043 +                                IFC   '#','#'  
  686. 00043 +                                IFEQ  (0)!.$FF 
  687. 00043 +A 049c 5d                       TSTX           
  688. 00043 +                                ENDC           
  689. 00043 +                                IFNE  (0)!.$FF 
  690.  
  691. M6805 Portable Cross Assembler  0.05  test1.s  Page 14
  692.  Wed May 16 10:07:20 1990  
  693. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  694. M6805 macro tests: low RAM subr's 
  695. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  696. 00043 +                                ENDC           
  697. 00043 +A 049d 26   01    04a0          BNE   .00020   
  698. 00043 +                                IFEQ  (0)!>8   
  699. 00043 +A 049f 4d                       TSTA           
  700. 00043 +                                ENDC           
  701. 00043 +                                IFNE  (0)!>8   
  702. 00043 +                                ENDC           
  703. 00043 +A 04a0      04a0     A .00020   EQU   *        
  704. 00044         MACRO INV                CPD   #,LOW    !-------------------------
  705. 00044 +                                IFEQ  NARG-1   
  706. 00044 +                                ENDC           
  707. 00044 +                                IFEQ  NARG-2   
  708. 00044 +                                IFC   '#','#'  
  709. 00044 +                                IFEQ  (LOW)!.$FF
  710. 00044 +                                ENDC           
  711. 00044 +                                IFNE  (LOW)!.$FF
  712. 00044 +A 04a0 a3   50       A          CPX   #(LOW)!.$FF
  713. 00044 +                                ENDC           
  714. 00044 +A 04a2 26   01    04a5          BNE   .00021   
  715. 00044 +                                IFEQ  (LOW)!>8 
  716. 00044 +A 04a4 4d                       TSTA           
  717. 00044 +                                ENDC           
  718. 00044 +                                IFNE  (LOW)!>8 
  719. 00044 +                                ENDC           
  720. 00044 +A 04a5      04a5     A .00021   EQU   *        
  721. 00045         MACRO INV                CPD   #,HIGH   !-------------------------
  722. 00045 +                                IFEQ  NARG-1   
  723. 00045 +                                ENDC           
  724. 00045 +                                IFEQ  NARG-2   
  725. 00045 +                                IFC   '#','#'  
  726. 00045 +                                IFEQ  (HIGH)!.$FF
  727. 00045 +                                ENDC           
  728. 00045 +                                IFNE  (HIGH)!.$FF
  729. 00045 +A 04a5 a3   fe       A          CPX   #(HIGH)!.$FF
  730. 00045 +                                ENDC           
  731. 00045 +A 04a7 26   02    04ab          BNE   .00022   
  732. 00045 +                                IFEQ  (HIGH)!>8
  733. 00045 +                                ENDC           
  734. 00045 +                                IFNE  (HIGH)!>8
  735. 00045 +A 04a9 a1   1e       A          CMP   #(HIGH)!>8
  736. 00045 +                                ENDC           
  737. 00045 +A 04ab      04ab     A .00022   EQU   *        
  738. 00046         MACRO INV                CPD   #,HIGH0  !-------------------------
  739. 00046 +                                IFEQ  NARG-1   
  740. 00046 +                                ENDC           
  741. 00046 +                                IFEQ  NARG-2   
  742. 00046 +                                IFC   '#','#'  
  743. 00046 +                                IFEQ  (HIGH0)!.$FF
  744. 00046 +A 04ab 5d                       TSTX           
  745. 00046 +                                ENDC           
  746. 00046 +                                IFNE  (HIGH0)!.$FF
  747. 00046 +                                ENDC           
  748.  
  749. M6805 Portable Cross Assembler  0.05  test1.s  Page 15
  750.  Wed May 16 10:07:20 1990  
  751. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  752. M6805 macro tests: low RAM subr's 
  753. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  754. 00046 +A 04ac 26   02    04b0          BNE   .00023   
  755. 00046 +                                IFEQ  (HIGH0)!>8
  756. 00046 +                                ENDC           
  757. 00046 +                                IFNE  (HIGH0)!>8
  758. 00046 +A 04ae a1   1e       A          CMP   #(HIGH0)!>8
  759. 00046 +                                ENDC           
  760. 00046 +A 04b0      04b0     A .00023   EQU   *        
  761. 00047                         
  762. 00048                         * @@@@@@@@ XREG tests start here
  763. 00049         MACRO INV                LDAXY ,XREG    !-------------------------
  764. 00049 +                                IFNC  'XREG','XREG'
  765. 00049 +                                ENDC           
  766. 00049 +                                IFC   '',''    
  767. 00049 +A 04b0 bd   60       A          JSR   LDAXREG  Default offset= 0
  768. 00050         MACRO INV                LDAXY 0,XREG   !-------------------------
  769. 00050 +                                IFNC  'XREG','XREG'
  770. 00050 +                                ENDC           
  771. 00050 +                                IFC   '0',''   
  772. 00050 +                                ENDC           
  773. 00050 +                                IFNC  '0',''   
  774. 00050 +                                IFEQ  0        
  775. 00050 +A 04b2 bd   60       A          JSR   LDAXREG  Offset= 0
  776. 00051         MACRO INV                LDAXY 5,XREG   !-------------------------
  777. 00051 +                                IFNC  'XREG','XREG'
  778. 00051 +                                ENDC           
  779. 00051 +                                IFC   '5',''   
  780. 00051 +                                ENDC           
  781. 00051 +                                IFNC  '5',''   
  782. 00051 +                                IFEQ  5        
  783. 00051 +                                ENDC           
  784. 00051 +                                IFNE  5        
  785. 00051 +A 04b4 b6   62       A          LDA   XREG1$+1 Set nREG= offset + nREG
  786. 00051 +A 04b6 ab   05       A          ADD   #(5)!.$FF
  787. 00051 +A 04b8 b7   62       A          STA   XREG1$+1 
  788. 00051 +A 04ba b6   61       A          LDA   XREG1$   
  789. 00051 +A 04bc a9   00       A          ADC   #(5)!>8  
  790. 00051 +A 04be b7   61       A          STA   XREG1$   
  791. 00051 +A 04c0 bd   60       A          JSR   LDAXREG  Offset= 0
  792. 00051 +A 04c2 b7   b9       A          STA   TEMPA$   
  793. 00051 +A 04c4 b6   65       A          LDA   XREG2$   Restore nREG
  794. 00051 +A 04c6 b7   61       A          STA   XREG1$   
  795. 00051 +A 04c8 b6   66       A          LDA   XREG2$+1 
  796. 00051 +A 04ca b7   62       A          STA   XREG1$+1 
  797. 00051 +A 04cc b6   b9       A          LDA   TEMPA$   
  798. 00052         MACRO INV                LDAXY LOW,XREG !------------------------
  799. 00052 +                                IFNC  'XREG','XREG'
  800. 00052 +                                ENDC           
  801. 00052 +                                IFC   'LOW','' 
  802. 00052 +                                ENDC           
  803. 00052 +                                IFNC  'LOW','' 
  804. 00052 +                                IFEQ  LOW      
  805. 00052 +                                ENDC           
  806.  
  807. M6805 Portable Cross Assembler  0.05  test1.s  Page 16
  808.  Wed May 16 10:07:20 1990  
  809. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  810. M6805 macro tests: low RAM subr's 
  811. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  812. 00052 +                                IFNE  LOW      
  813. 00052 +A 04ce b6   62       A          LDA   XREG1$+1 Set nREG= offset + nREG
  814. 00052 +A 04d0 ab   50       A          ADD   #(LOW)!.$FF
  815. 00052 +A 04d2 b7   62       A          STA   XREG1$+1 
  816. 00052 +A 04d4 b6   61       A          LDA   XREG1$   
  817. 00052 +A 04d6 a9   00       A          ADC   #(LOW)!>8
  818. 00052 +A 04d8 b7   61       A          STA   XREG1$   
  819. 00052 +A 04da bd   60       A          JSR   LDAXREG  Offset= 0
  820. 00052 +A 04dc b7   b9       A          STA   TEMPA$   
  821. 00052 +A 04de b6   65       A          LDA   XREG2$   Restore nREG
  822. 00052 +A 04e0 b7   61       A          STA   XREG1$   
  823. 00052 +A 04e2 b6   66       A          LDA   XREG2$+1 
  824. 00052 +A 04e4 b7   62       A          STA   XREG1$+1 
  825. 00052 +A 04e6 b6   b9       A          LDA   TEMPA$   
  826. 00053         MACRO INV                LDAXY HIGH,XREG !-----------------------
  827. 00053 +                                IFNC  'XREG','XREG'
  828. 00053 +                                ENDC           
  829. 00053 +                                IFC   'HIGH',''
  830. 00053 +                                ENDC           
  831. 00053 +                                IFNC  'HIGH',''
  832. 00053 +                                IFEQ  HIGH     
  833. 00053 +                                ENDC           
  834. 00053 +                                IFNE  HIGH     
  835. 00053 +A 04e8 b6   62       A          LDA   XREG1$+1 Set nREG= offset + nREG
  836. 00053 +A 04ea ab   fe       A          ADD   #(HIGH)!.$FF
  837. 00053 +A 04ec b7   62       A          STA   XREG1$+1 
  838. 00053 +A 04ee b6   61       A          LDA   XREG1$   
  839. 00053 +A 04f0 a9   1e       A          ADC   #(HIGH)!>8
  840. 00053 +A 04f2 b7   61       A          STA   XREG1$   
  841. 00053 +A 04f4 bd   60       A          JSR   LDAXREG  Offset= 0
  842. 00053 +A 04f6 b7   b9       A          STA   TEMPA$   
  843. 00053 +A 04f8 b6   65       A          LDA   XREG2$   Restore nREG
  844. 00053 +A 04fa b7   61       A          STA   XREG1$   
  845. 00053 +A 04fc b6   66       A          LDA   XREG2$+1 
  846. 00053 +A 04fe b7   62       A          STA   XREG1$+1 
  847. 00053 +A 0500 b6   b9       A          LDA   TEMPA$   
  848. 00054                         
  849. 00055         MACRO INV                STAXY ,XREG    !-------------------------
  850. 00055 +                                IFNC  'XREG','XREG'
  851. 00055 +                                ENDC           
  852. 00055 +                                IFC   '',''    
  853. 00055 +A 0502 bd   64       A          JSR   STAXREG  Default offset= 0
  854. 00056         MACRO INV                STAXY 0,XREG   !-------------------------
  855. 00056 +                                IFNC  'XREG','XREG'
  856. 00056 +                                ENDC           
  857. 00056 +                                IFC   '0',''   
  858. 00056 +                                ENDC           
  859. 00056 +                                IFNC  '0',''   
  860. 00056 +                                IFEQ  0        
  861. 00056 +A 0504 bd   64       A          JSR   STAXREG  Offset= 0
  862. 00057         MACRO INV                STAXY 5,XREG   !-------------------------
  863. 00057 +                                IFNC  'XREG','XREG'
  864.  
  865. M6805 Portable Cross Assembler  0.05  test1.s  Page 17
  866.  Wed May 16 10:07:20 1990  
  867. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  868. M6805 macro tests: low RAM subr's 
  869. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  870. 00057 +                                ENDC           
  871. 00057 +                                IFC   '5',''   
  872. 00057 +                                ENDC           
  873. 00057 +                                IFNC  '5',''   
  874. 00057 +                                IFEQ  5        
  875. 00057 +                                ENDC           
  876. 00057 +                                IFNE  5        
  877. 00057 +A 0506 b7   b9       A          STA   TEMPA$   
  878. 00057 +A 0508 b6   66       A          LDA   XREG2$+1 Set nREG= offset + nREG
  879. 00057 +A 050a ab   05       A          ADD   #(5)!.$FF
  880. 00057 +A 050c b7   66       A          STA   XREG2$+1 
  881. 00057 +A 050e b6   65       A          LDA   XREG2$   
  882. 00057 +A 0510 a9   00       A          ADC   #(5)!>8  
  883. 00057 +A 0512 b7   65       A          STA   XREG2$   
  884. 00057 +A 0514 b6   b9       A          LDA   TEMPA$   
  885. 00057 +A 0516 bd   64       A          JSR   STAXREG  Offset= 0
  886. 00057 +A 0518 b6   61       A          LDA   XREG1$   Restore nREG
  887. 00057 +A 051a b7   65       A          STA   XREG2$   
  888. 00057 +A 051c b6   62       A          LDA   XREG1$+1 
  889. 00057 +A 051e b7   66       A          STA   XREG2$+1 
  890. 00057 +A 0520 b6   b9       A          LDA   TEMPA$   
  891. 00058         MACRO INV                STAXY LOW,XREG !------------------------
  892. 00058 +                                IFNC  'XREG','XREG'
  893. 00058 +                                ENDC           
  894. 00058 +                                IFC   'LOW','' 
  895. 00058 +                                ENDC           
  896. 00058 +                                IFNC  'LOW','' 
  897. 00058 +                                IFEQ  LOW      
  898. 00058 +                                ENDC           
  899. 00058 +                                IFNE  LOW      
  900. 00058 +A 0522 b7   b9       A          STA   TEMPA$   
  901. 00058 +A 0524 b6   66       A          LDA   XREG2$+1 Set nREG= offset + nREG
  902. 00058 +A 0526 ab   50       A          ADD   #(LOW)!.$FF
  903. 00058 +A 0528 b7   66       A          STA   XREG2$+1 
  904. 00058 +A 052a b6   65       A          LDA   XREG2$   
  905. 00058 +A 052c a9   00       A          ADC   #(LOW)!>8
  906. 00058 +A 052e b7   65       A          STA   XREG2$   
  907. 00058 +A 0530 b6   b9       A          LDA   TEMPA$   
  908. 00058 +A 0532 bd   64       A          JSR   STAXREG  Offset= 0
  909. 00058 +A 0534 b6   61       A          LDA   XREG1$   Restore nREG
  910. 00058 +A 0536 b7   65       A          STA   XREG2$   
  911. 00058 +A 0538 b6   62       A          LDA   XREG1$+1 
  912. 00058 +A 053a b7   66       A          STA   XREG2$+1 
  913. 00058 +A 053c b6   b9       A          LDA   TEMPA$   
  914. 00059         MACRO INV                STAXY HIGH,XREG !-----------------------
  915. 00059 +                                IFNC  'XREG','XREG'
  916. 00059 +                                ENDC           
  917. 00059 +                                IFC   'HIGH',''
  918. 00059 +                                ENDC           
  919. 00059 +                                IFNC  'HIGH',''
  920. 00059 +                                IFEQ  HIGH     
  921. 00059 +                                ENDC           
  922.  
  923. M6805 Portable Cross Assembler  0.05  test1.s  Page 18
  924.  Wed May 16 10:07:20 1990  
  925. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  926. M6805 macro tests: low RAM subr's 
  927. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  928. 00059 +                                IFNE  HIGH     
  929. 00059 +A 053e b7   b9       A          STA   TEMPA$   
  930. 00059 +A 0540 b6   66       A          LDA   XREG2$+1 Set nREG= offset + nREG
  931. 00059 +A 0542 ab   fe       A          ADD   #(HIGH)!.$FF
  932. 00059 +A 0544 b7   66       A          STA   XREG2$+1 
  933. 00059 +A 0546 b6   65       A          LDA   XREG2$   
  934. 00059 +A 0548 a9   1e       A          ADC   #(HIGH)!>8
  935. 00059 +A 054a b7   65       A          STA   XREG2$   
  936. 00059 +A 054c b6   b9       A          LDA   TEMPA$   
  937. 00059 +A 054e bd   64       A          JSR   STAXREG  Offset= 0
  938. 00059 +A 0550 b6   61       A          LDA   XREG1$   Restore nREG
  939. 00059 +A 0552 b7   65       A          STA   XREG2$   
  940. 00059 +A 0554 b6   62       A          LDA   XREG1$+1 
  941. 00059 +A 0556 b7   66       A          STA   XREG2$+1 
  942. 00059 +A 0558 b6   b9       A          LDA   TEMPA$   
  943. 00060                         
  944. 00061         MACRO INV                LDXR  ZERO     !-------------------------
  945. 00061 +                                IFEQ  NARG-1   
  946. 00061 +A 055a b7   b9       A          STA   TEMPA$   
  947. 00061 +A 055c b6   01       A          LDA   (ZERO)+1 
  948. 00061 +A 055e b7   62       A          STA   XREG1$+1 
  949. 00061 +A 0560 b7   66       A          STA   XREG2$+1 
  950. 00061 +A 0562 b6   00       A          LDA   (ZERO)   
  951. 00061 +A 0564 b7   61       A          STA   XREG1$   
  952. 00061 +A 0566 b7   65       A          STA   XREG2$   
  953. 00061 +                                IFEQ  XREG1$!.$FF00
  954. 00061 +A 0568 b6   b9       A          LDA   TEMPA$   
  955. 00061 +A 056a 3d   61       A          TST   XREG1$   
  956. 00061 +                                ENDC           
  957. 00061 +                                IFNE  XREG1$!.$FF00
  958. 00061 +                                ENDC           
  959. 00062         MACRO INV                LDXR  LOW      !-------------------------
  960. 00062 +                                IFEQ  NARG-1   
  961. 00062 +A 056c b7   b9       A          STA   TEMPA$   
  962. 00062 +A 056e b6   51       A          LDA   (LOW)+1  
  963. 00062 +A 0570 b7   62       A          STA   XREG1$+1 
  964. 00062 +A 0572 b7   66       A          STA   XREG2$+1 
  965. 00062 +A 0574 b6   50       A          LDA   (LOW)    
  966. 00062 +A 0576 b7   61       A          STA   XREG1$   
  967. 00062 +A 0578 b7   65       A          STA   XREG2$   
  968. 00062 +                                IFEQ  XREG1$!.$FF00
  969. 00062 +A 057a b6   b9       A          LDA   TEMPA$   
  970. 00062 +A 057c 3d   61       A          TST   XREG1$   
  971. 00062 +                                ENDC           
  972. 00062 +                                IFNE  XREG1$!.$FF00
  973. 00062 +                                ENDC           
  974. 00063         MACRO INV                LDXR  HIGH     !-------------------------
  975. 00063 +                                IFEQ  NARG-1   
  976. 00063 +A 057e b7   b9       A          STA   TEMPA$   
  977. 00063 +A 0580 c6   1eff     A          LDA   (HIGH)+1 
  978. 00063 +A 0583 b7   62       A          STA   XREG1$+1 
  979. 00063 +A 0585 b7   66       A          STA   XREG2$+1 
  980.  
  981. M6805 Portable Cross Assembler  0.05  test1.s  Page 19
  982.  Wed May 16 10:07:20 1990  
  983. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  984. M6805 macro tests: low RAM subr's 
  985. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  986. 00063 +A 0587 c6   1efe     A          LDA   (HIGH)   
  987. 00063 +A 058a b7   61       A          STA   XREG1$   
  988. 00063 +A 058c b7   65       A          STA   XREG2$   
  989. 00063 +                                IFEQ  XREG1$!.$FF00
  990. 00063 +A 058e b6   b9       A          LDA   TEMPA$   
  991. 00063 +A 0590 3d   61       A          TST   XREG1$   
  992. 00063 +                                ENDC           
  993. 00063 +                                IFNE  XREG1$!.$FF00
  994. 00063 +                                ENDC           
  995. 00064         MACRO INV                LDXR  #,0      !-------------------------
  996. 00064 +                                IFEQ  NARG-1   
  997. 00064 +                                ENDC           
  998. 00064 +                                IFEQ  NARG-2   
  999. 00064 +                                IFC   '#','#'  
  1000. 00064 +                                IFEQ  XREG1$!.$FF00 ! XREG in low memory?
  1001. 00064 +                                IFEQ  0        !   #0 value?
  1002. 00064 +A 0592 3f   62       A          CLR   XREG1$+1 
  1003. 00064 +A 0594 3f   66       A          CLR   XREG2$+1 
  1004. 00064 +A 0596 3f   61       A          CLR   XREG1$   
  1005. 00064 +A 0598 3f   65       A          CLR   XREG2$   
  1006. 00065         MACRO INV                LDXR  #,LOW    !-------------------------
  1007. 00065 +                                IFEQ  NARG-1   
  1008. 00065 +                                ENDC           
  1009. 00065 +                                IFEQ  NARG-2   
  1010. 00065 +                                IFC   '#','#'  
  1011. 00065 +                                IFEQ  XREG1$!.$FF00 ! XREG in low memory?
  1012. 00065 +                                IFEQ  LOW      !   #0 value?
  1013. 00065 +                                ENDC           
  1014. 00065 +                                IFNE  LOW      !   not #0 value?
  1015. 00065 +A 059a b7   b9       A          STA   TEMPA$   
  1016. 00065 +                                IFEQ  (LOW)!.$FF
  1017. 00065 +                                ENDC           
  1018. 00065 +                                IFNE  (LOW)!.$FF
  1019. 00065 +A 059c a6   50       A          LDA   #(LOW)!.$FF
  1020. 00065 +A 059e b7   62       A          STA   XREG1$+1 
  1021. 00065 +A 05a0 b7   66       A          STA   XREG2$+1 
  1022. 00065 +                                ENDC           
  1023. 00065 +                                IFEQ  (LOW)!>8 
  1024. 00065 +A 05a2 3f   61       A          CLR   XREG1$   
  1025. 00065 +A 05a4 3f   65       A          CLR   XREG2$   
  1026. 00065 +                                ENDC           
  1027. 00065 +                                IFNE  (LOW)!>8 
  1028. 00065 +                                ENDC           
  1029. 00065 +A 05a6 b6   b9       A          LDA   TEMPA$   
  1030. 00065 +A 05a8 3d   61       A          TST   XREG1$   
  1031. 00066         MACRO INV                LDXR  #,HIGH   !-------------------------
  1032. 00066 +                                IFEQ  NARG-1   
  1033. 00066 +                                ENDC           
  1034. 00066 +                                IFEQ  NARG-2   
  1035. 00066 +                                IFC   '#','#'  
  1036. 00066 +                                IFEQ  XREG1$!.$FF00 ! XREG in low memory?
  1037. 00066 +                                IFEQ  HIGH     !   #0 value?
  1038.  
  1039. M6805 Portable Cross Assembler  0.05  test1.s  Page 20
  1040.  Wed May 16 10:07:20 1990  
  1041. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1042. M6805 macro tests: low RAM subr's 
  1043. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1044. 00066 +                                ENDC           
  1045. 00066 +                                IFNE  HIGH     !   not #0 value?
  1046. 00066 +A 05aa b7   b9       A          STA   TEMPA$   
  1047. 00066 +                                IFEQ  (HIGH)!.$FF
  1048. 00066 +                                ENDC           
  1049. 00066 +                                IFNE  (HIGH)!.$FF
  1050. 00066 +A 05ac a6   fe       A          LDA   #(HIGH)!.$FF
  1051. 00066 +A 05ae b7   62       A          STA   XREG1$+1 
  1052. 00066 +A 05b0 b7   66       A          STA   XREG2$+1 
  1053. 00066 +                                ENDC           
  1054. 00066 +                                IFEQ  (HIGH)!>8
  1055. 00066 +                                ENDC           
  1056. 00066 +                                IFNE  (HIGH)!>8
  1057. 00066 +A 05b2 a6   1e       A          LDA   #(HIGH)!>8
  1058. 00066 +A 05b4 b7   61       A          STA   XREG1$   
  1059. 00066 +A 05b6 b7   65       A          STA   XREG2$   
  1060. 00066 +                                ENDC           
  1061. 00066 +A 05b8 b6   b9       A          LDA   TEMPA$   
  1062. 00066 +A 05ba 3d   61       A          TST   XREG1$   
  1063. 00067         MACRO INV                LDXR  #,HIGH0  !-------------------------
  1064. 00067 +                                IFEQ  NARG-1   
  1065. 00067 +                                ENDC           
  1066. 00067 +                                IFEQ  NARG-2   
  1067. 00067 +                                IFC   '#','#'  
  1068. 00067 +                                IFEQ  XREG1$!.$FF00 ! XREG in low memory?
  1069. 00067 +                                IFEQ  HIGH0    !   #0 value?
  1070. 00067 +                                ENDC           
  1071. 00067 +                                IFNE  HIGH0    !   not #0 value?
  1072. 00067 +A 05bc b7   b9       A          STA   TEMPA$   
  1073. 00067 +                                IFEQ  (HIGH0)!.$FF
  1074. 00067 +A 05be 3f   62       A          CLR   XREG1$+1 
  1075. 00067 +A 05c0 3f   66       A          CLR   XREG2$+1 
  1076. 00067 +                                ENDC           
  1077. 00067 +                                IFNE  (HIGH0)!.$FF
  1078. 00067 +                                ENDC           
  1079. 00067 +                                IFEQ  (HIGH0)!>8
  1080. 00067 +                                ENDC           
  1081. 00067 +                                IFNE  (HIGH0)!>8
  1082. 00067 +A 05c2 a6   1e       A          LDA   #(HIGH0)!>8
  1083. 00067 +A 05c4 b7   61       A          STA   XREG1$   
  1084. 00067 +A 05c6 b7   65       A          STA   XREG2$   
  1085. 00067 +                                ENDC           
  1086. 00067 +A 05c8 b6   b9       A          LDA   TEMPA$   
  1087. 00067 +A 05ca 3d   61       A          TST   XREG1$   
  1088. 00068                         
  1089. 00069         MACRO INV                STXR  LOW      !-------------------------
  1090. 00069 +A 05cc b7   b9       A          STA   TEMPA$   
  1091. 00069 +A 05ce b6   62       A          LDA   XREG1$+1 
  1092. 00069 +A 05d0 b7   51       A          STA   (LOW)+1  
  1093. 00069 +A 05d2 b6   61       A          LDA   XREG1$   
  1094. 00069 +A 05d4 b7   50       A          STA   (LOW)    
  1095. 00069 +                                IFEQ  XREG1$!.$FF00
  1096.  
  1097. M6805 Portable Cross Assembler  0.05  test1.s  Page 21
  1098.  Wed May 16 10:07:20 1990  
  1099. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1100. M6805 macro tests: low RAM subr's 
  1101. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1102. 00069 +A 05d6 b6   b9       A          LDA   TEMPA$   
  1103. 00069 +A 05d8 3d   61       A          TST   XREG1$   
  1104. 00069 +                                ENDC           
  1105. 00069 +                                IFNE  XREG1$!.$FF00
  1106. 00069 +                                ENDC           
  1107. 00070         MACRO INV                STXR  HIGH     !-------------------------
  1108. 00070 +A 05da b7   b9       A          STA   TEMPA$   
  1109. 00070 +A 05dc b6   62       A          LDA   XREG1$+1 
  1110. 00070 +A 05de c7   1eff     A          STA   (HIGH)+1 
  1111. 00070 +A 05e1 b6   61       A          LDA   XREG1$   
  1112. 00070 +A 05e3 c7   1efe     A          STA   (HIGH)   
  1113. 00070 +                                IFEQ  XREG1$!.$FF00
  1114. 00070 +A 05e6 b6   b9       A          LDA   TEMPA$   
  1115. 00070 +A 05e8 3d   61       A          TST   XREG1$   
  1116. 00070 +                                ENDC           
  1117. 00070 +                                IFNE  XREG1$!.$FF00
  1118. 00070 +                                ENDC           
  1119. 00071                         
  1120. 00072         MACRO INV                INCXR          !-------------------------
  1121. 00072 +                                IFEQ  NARG     
  1122. 00072 +                                IFEQ  XREG1$!.$FF00
  1123. 00072 +A 05ea 3c   62       A          INC   XREG1$+1 
  1124. 00072 +A 05ec 3c   66       A          INC   XREG2$+1 
  1125. 00072 +A 05ee 26   04    05f4          BNE   .00043   
  1126. 00072 +A 05f0 3c   61       A          INC   XREG1$   
  1127. 00072 +A 05f2 3c   65       A          INC   XREG2$   
  1128. 00072 +A 05f4      05f4     A .00043   EQU   *        
  1129. 00073         MACRO INV                INCXR LOW      !-------------------------
  1130. 00073 +                                IFEQ  NARG     
  1131. 00073 +                                ENDC           
  1132. 00073 +                                IFEQ  NARG-1   
  1133. 00073 +A 05f4 b7   b9       A          STA   TEMPA$   
  1134. 00073 +A 05f6 b6   62       A          LDA   XREG1$+1 
  1135. 00073 +A 05f8 bb   51       A          ADD   (LOW)+1  
  1136. 00073 +A 05fa b7   62       A          STA   XREG1$+1 
  1137. 00073 +A 05fc b7   66       A          STA   XREG2$+1 
  1138. 00073 +A 05fe b6   61       A          LDA   XREG1$   
  1139. 00073 +A 0600 b9   50       A          ADC   LOW      
  1140. 00073 +A 0602 b7   61       A          STA   XREG1$   
  1141. 00073 +A 0604 b7   65       A          STA   XREG2$   
  1142. 00073 +A 0606 ba   62       A          ORA   XREG1$+1 
  1143. 00073 +A 0608 b7   bd       A          STA   TESTA$   
  1144. 00073 +A 060a b6   b9       A          LDA   TEMPA$   
  1145. 00073 +A 060c 3d   bd       A          TST   TESTA$   
  1146. 00074         MACRO INV                INCXR HIGH     !-------------------------
  1147. 00074 +                                IFEQ  NARG     
  1148. 00074 +                                ENDC           
  1149. 00074 +                                IFEQ  NARG-1   
  1150. 00074 +A 060e b7   b9       A          STA   TEMPA$   
  1151. 00074 +A 0610 b6   62       A          LDA   XREG1$+1 
  1152. 00074 +A 0612 cb   1eff     A          ADD   (HIGH)+1 
  1153. 00074 +A 0615 b7   62       A          STA   XREG1$+1 
  1154.  
  1155. M6805 Portable Cross Assembler  0.05  test1.s  Page 22
  1156.  Wed May 16 10:07:20 1990  
  1157. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1158. M6805 macro tests: low RAM subr's 
  1159. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1160. 00074 +A 0617 b7   66       A          STA   XREG2$+1 
  1161. 00074 +A 0619 b6   61       A          LDA   XREG1$   
  1162. 00074 +A 061b c9   1efe     A          ADC   HIGH     
  1163. 00074 +A 061e b7   61       A          STA   XREG1$   
  1164. 00074 +A 0620 b7   65       A          STA   XREG2$   
  1165. 00074 +A 0622 ba   62       A          ORA   XREG1$+1 
  1166. 00074 +A 0624 b7   bd       A          STA   TESTA$   
  1167. 00074 +A 0626 b6   b9       A          LDA   TEMPA$   
  1168. 00074 +A 0628 3d   bd       A          TST   TESTA$   
  1169. 00075         MACRO INV                INCXR #,LOW    !-------------------------
  1170. 00075 +                                IFEQ  NARG     
  1171. 00075 +                                ENDC           
  1172. 00075 +                                IFEQ  NARG-1   
  1173. 00075 +                                ENDC           
  1174. 00075 +                                IFEQ  NARG-2   
  1175. 00075 +                                IFC   '#','#'  
  1176. 00075 +A 062a b7   b9       A          STA   TEMPA$   
  1177. 00075 +A 062c b6   62       A          LDA   XREG1$+1 
  1178. 00075 +A 062e ab   50       A          ADD   #(LOW)!.$FF
  1179. 00075 +A 0630 b7   62       A          STA   XREG1$+1 
  1180. 00075 +A 0632 b7   66       A          STA   XREG2$+1 
  1181. 00075 +A 0634 b6   61       A          LDA   XREG1$   
  1182. 00075 +A 0636 a9   00       A          ADC   #(LOW)!>8
  1183. 00075 +A 0638 b7   61       A          STA   XREG1$   
  1184. 00075 +A 063a b7   65       A          STA   XREG2$   
  1185. 00075 +A 063c ba   62       A          ORA   XREG1$+1 
  1186. 00075 +A 063e b7   bd       A          STA   TESTA$   
  1187. 00075 +A 0640 b6   b9       A          LDA   TEMPA$   
  1188. 00075 +A 0642 3d   bd       A          TST   TESTA$   
  1189. 00076         MACRO INV                INCXR #,HIGH   !-------------------------
  1190. 00076 +                                IFEQ  NARG     
  1191. 00076 +                                ENDC           
  1192. 00076 +                                IFEQ  NARG-1   
  1193. 00076 +                                ENDC           
  1194. 00076 +                                IFEQ  NARG-2   
  1195. 00076 +                                IFC   '#','#'  
  1196. 00076 +A 0644 b7   b9       A          STA   TEMPA$   
  1197. 00076 +A 0646 b6   62       A          LDA   XREG1$+1 
  1198. 00076 +A 0648 ab   fe       A          ADD   #(HIGH)!.$FF
  1199. 00076 +A 064a b7   62       A          STA   XREG1$+1 
  1200. 00076 +A 064c b7   66       A          STA   XREG2$+1 
  1201. 00076 +A 064e b6   61       A          LDA   XREG1$   
  1202. 00076 +A 0650 a9   1e       A          ADC   #(HIGH)!>8
  1203. 00076 +A 0652 b7   61       A          STA   XREG1$   
  1204. 00076 +A 0654 b7   65       A          STA   XREG2$   
  1205. 00076 +A 0656 ba   62       A          ORA   XREG1$+1 
  1206. 00076 +A 0658 b7   bd       A          STA   TESTA$   
  1207. 00076 +A 065a b6   b9       A          LDA   TEMPA$   
  1208. 00076 +A 065c 3d   bd       A          TST   TESTA$   
  1209. 00077                         
  1210. 00078         MACRO INV                DECXR          !-------------------------
  1211. 00078 +                                IFEQ  NARG     
  1212.  
  1213. M6805 Portable Cross Assembler  0.05  test1.s  Page 23
  1214.  Wed May 16 10:07:20 1990  
  1215. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1216. M6805 macro tests: low RAM subr's 
  1217. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1218. 00078 +A 065e b7   b9       A          STA   TEMPA$   
  1219. 00078 +A 0660 b6   62       A          LDA   XREG1$+1 
  1220. 00078 +A 0662 a0   01       A          SUB   #1       
  1221. 00078 +A 0664 b7   62       A          STA   XREG1$+1 
  1222. 00078 +A 0666 b7   66       A          STA   XREG2$+1 
  1223. 00078 +A 0668 b6   61       A          LDA   XREG1$   
  1224. 00078 +A 066a a2   00       A          SBC   #0       
  1225. 00078 +A 066c b7   61       A          STA   XREG1$   
  1226. 00078 +A 066e b7   65       A          STA   XREG2$   
  1227. 00078 +A 0670 ba   62       A          ORA   XREG1$+1 
  1228. 00078 +A 0672 b7   bd       A          STA   TESTA$   
  1229. 00078 +A 0674 b6   b9       A          LDA   TEMPA$   
  1230. 00078 +A 0676 3d   bd       A          TST   TESTA$   
  1231. 00079         MACRO INV                DECXR LOW      !-------------------------
  1232. 00079 +                                IFEQ  NARG     
  1233. 00079 +                                ENDC           
  1234. 00079 +                                IFEQ  NARG-1   
  1235. 00079 +A 0678 b7   b9       A          STA   TEMPA$   
  1236. 00079 +A 067a b6   62       A          LDA   XREG1$+1 
  1237. 00079 +A 067c b0   51       A          SUB   (LOW)+1  
  1238. 00079 +A 067e b7   62       A          STA   XREG1$+1 
  1239. 00079 +A 0680 b7   66       A          STA   XREG2$+1 
  1240. 00079 +A 0682 b6   61       A          LDA   XREG1$   
  1241. 00079 +A 0684 b2   50       A          SBC   LOW      
  1242. 00079 +A 0686 b7   61       A          STA   XREG1$   
  1243. 00079 +A 0688 b7   65       A          STA   XREG2$   
  1244. 00079 +A 068a ba   62       A          ORA   XREG1$+1 
  1245. 00079 +A 068c b7   bd       A          STA   TESTA$   
  1246. 00079 +A 068e b6   b9       A          LDA   TEMPA$   
  1247. 00079 +A 0690 3d   bd       A          TST   TESTA$   
  1248. 00080         MACRO INV                DECXR HIGH     !-------------------------
  1249. 00080 +                                IFEQ  NARG     
  1250. 00080 +                                ENDC           
  1251. 00080 +                                IFEQ  NARG-1   
  1252. 00080 +A 0692 b7   b9       A          STA   TEMPA$   
  1253. 00080 +A 0694 b6   62       A          LDA   XREG1$+1 
  1254. 00080 +A 0696 c0   1eff     A          SUB   (HIGH)+1 
  1255. 00080 +A 0699 b7   62       A          STA   XREG1$+1 
  1256. 00080 +A 069b b7   66       A          STA   XREG2$+1 
  1257. 00080 +A 069d b6   61       A          LDA   XREG1$   
  1258. 00080 +A 069f c2   1efe     A          SBC   HIGH     
  1259. 00080 +A 06a2 b7   61       A          STA   XREG1$   
  1260. 00080 +A 06a4 b7   65       A          STA   XREG2$   
  1261. 00080 +A 06a6 ba   62       A          ORA   XREG1$+1 
  1262. 00080 +A 06a8 b7   bd       A          STA   TESTA$   
  1263. 00080 +A 06aa b6   b9       A          LDA   TEMPA$   
  1264. 00080 +A 06ac 3d   bd       A          TST   TESTA$   
  1265. 00081         MACRO INV                DECXR #,LOW    !-------------------------
  1266. 00081 +                                IFEQ  NARG     
  1267. 00081 +                                ENDC           
  1268. 00081 +                                IFEQ  NARG-1   
  1269. 00081 +                                ENDC           
  1270.  
  1271. M6805 Portable Cross Assembler  0.05  test1.s  Page 24
  1272.  Wed May 16 10:07:20 1990  
  1273. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1274. M6805 macro tests: low RAM subr's 
  1275. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1276. 00081 +                                IFEQ  NARG-2   
  1277. 00081 +                                IFC   '#','#'  
  1278. 00081 +A 06ae b7   b9       A          STA   TEMPA$   
  1279. 00081 +A 06b0 b6   62       A          LDA   XREG1$+1 
  1280. 00081 +A 06b2 a0   50       A          SUB   #(LOW)!.$FF
  1281. 00081 +A 06b4 b7   62       A          STA   XREG1$+1 
  1282. 00081 +A 06b6 b7   66       A          STA   XREG2$+1 
  1283. 00081 +A 06b8 b6   61       A          LDA   XREG1$   
  1284. 00081 +A 06ba a2   00       A          SBC   #(LOW)!>8
  1285. 00081 +A 06bc b7   61       A          STA   XREG1$   
  1286. 00081 +A 06be b7   65       A          STA   XREG2$   
  1287. 00081 +A 06c0 ba   62       A          ORA   XREG1$+1 
  1288. 00081 +A 06c2 b7   bd       A          STA   TESTA$   
  1289. 00081 +A 06c4 b6   b9       A          LDA   TEMPA$   
  1290. 00081 +A 06c6 3d   bd       A          TST   TESTA$   
  1291. 00082         MACRO INV                DECXR #,HIGH   !-------------------------
  1292. 00082 +                                IFEQ  NARG     
  1293. 00082 +                                ENDC           
  1294. 00082 +                                IFEQ  NARG-1   
  1295. 00082 +                                ENDC           
  1296. 00082 +                                IFEQ  NARG-2   
  1297. 00082 +                                IFC   '#','#'  
  1298. 00082 +A 06c8 b7   b9       A          STA   TEMPA$   
  1299. 00082 +A 06ca b6   62       A          LDA   XREG1$+1 
  1300. 00082 +A 06cc a0   fe       A          SUB   #(HIGH)!.$FF
  1301. 00082 +A 06ce b7   62       A          STA   XREG1$+1 
  1302. 00082 +A 06d0 b7   66       A          STA   XREG2$+1 
  1303. 00082 +A 06d2 b6   61       A          LDA   XREG1$   
  1304. 00082 +A 06d4 a2   1e       A          SBC   #(HIGH)!>8
  1305. 00082 +A 06d6 b7   61       A          STA   XREG1$   
  1306. 00082 +A 06d8 b7   65       A          STA   XREG2$   
  1307. 00082 +A 06da ba   62       A          ORA   XREG1$+1 
  1308. 00082 +A 06dc b7   bd       A          STA   TESTA$   
  1309. 00082 +A 06de b6   b9       A          LDA   TEMPA$   
  1310. 00082 +A 06e0 3d   bd       A          TST   TESTA$   
  1311. 00083                         
  1312. 00084         MACRO INV                CPXR  ZERO     !-------------------------
  1313. 00084 +                                IFEQ  NARG-1   
  1314. 00084 +A 06e2 b7   b9       A          STA   TEMPA$   
  1315. 00084 +A 06e4 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1316. 00084 +A 06e6 b6   62       A          LDA   XREG1$+1 
  1317. 00084 +A 06e8 b1   01       A          CMP   (ZERO)+1 
  1318. 00084 +A 06ea 26   08    06f4          BNE   .00053   Branch if LS half is .NE.
  1319. 00084 +A 06ec b6   61       A          LDA   XREG1$   
  1320. 00084 +A 06ee b1   00       A          CMP   (ZERO)   
  1321. 00084 +A 06f0 26   02    06f4          BNE   .00053   Branch if MS half is .NE.
  1322. 00084 +A 06f2 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1323. 00084 +A 06f4 b6   b9       A .00053   LDA   TEMPA$   
  1324. 00084 +A 06f6 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1325. 00085         MACRO INV                CPXR  LOW      !-------------------------
  1326. 00085 +                                IFEQ  NARG-1   
  1327. 00085 +A 06f8 b7   b9       A          STA   TEMPA$   
  1328.  
  1329. M6805 Portable Cross Assembler  0.05  test1.s  Page 25
  1330.  Wed May 16 10:07:20 1990  
  1331. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1332. M6805 macro tests: low RAM subr's 
  1333. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1334. 00085 +A 06fa 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1335. 00085 +A 06fc b6   62       A          LDA   XREG1$+1 
  1336. 00085 +A 06fe b1   51       A          CMP   (LOW)+1  
  1337. 00085 +A 0700 26   08    070a          BNE   .00054   Branch if LS half is .NE.
  1338. 00085 +A 0702 b6   61       A          LDA   XREG1$   
  1339. 00085 +A 0704 b1   50       A          CMP   (LOW)    
  1340. 00085 +A 0706 26   02    070a          BNE   .00054   Branch if MS half is .NE.
  1341. 00085 +A 0708 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1342. 00085 +A 070a b6   b9       A .00054   LDA   TEMPA$   
  1343. 00085 +A 070c 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1344. 00086         MACRO INV                CPXR  HIGH     !-------------------------
  1345. 00086 +                                IFEQ  NARG-1   
  1346. 00086 +A 070e b7   b9       A          STA   TEMPA$   
  1347. 00086 +A 0710 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1348. 00086 +A 0712 b6   62       A          LDA   XREG1$+1 
  1349. 00086 +A 0714 c1   1eff     A          CMP   (HIGH)+1 
  1350. 00086 +A 0717 26   09    0722          BNE   .00055   Branch if LS half is .NE.
  1351. 00086 +A 0719 b6   61       A          LDA   XREG1$   
  1352. 00086 +A 071b c1   1efe     A          CMP   (HIGH)   
  1353. 00086 +A 071e 26   02    0722          BNE   .00055   Branch if MS half is .NE.
  1354. 00086 +A 0720 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1355. 00086 +A 0722 b6   b9       A .00055   LDA   TEMPA$   
  1356. 00086 +A 0724 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1357. 00087         MACRO INV                CPXR  #,0      !-------------------------
  1358. 00087 +                                IFEQ  NARG-1   
  1359. 00087 +                                ENDC           
  1360. 00087 +                                IFEQ  NARG-2   
  1361. 00087 +                                IFC   '#','#'  
  1362. 00087 +                                IFEQ  0        
  1363. 00087 +                                IFEQ  XREG1$!.$FF00
  1364. 00087 +A 0726 3d   62       A          TST   XREG1$+1 
  1365. 00087 +A 0728 26   02    072c          BNE   .00056   Branch if LS half is .NE.
  1366. 00087 +A 072a 3d   61       A          TST   XREG1$   
  1367. 00087 +A 072c      072c     A .00056   EQU   *        
  1368. 00088         MACRO INV                CPXR  #,LOW    !-------------------------
  1369. 00088 +                                IFEQ  NARG-1   
  1370. 00088 +                                ENDC           
  1371. 00088 +                                IFEQ  NARG-2   
  1372. 00088 +                                IFC   '#','#'  
  1373. 00088 +                                IFEQ  LOW      
  1374. 00088 +                                ENDC           
  1375. 00088 +A 072c b7   b9       A          STA   TEMPA$   
  1376. 00088 +A 072e 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1377. 00088 +A 0730 b6   62       A          LDA   XREG1$+1 
  1378. 00088 +                                IFNE  (LOW)!.$FF
  1379. 00088 +A 0732 a1   50       A          CMP   #(LOW)!.$FF
  1380. 00088 +                                ENDC           
  1381. 00088 +A 0734 26   06    073c          BNE   .00057   Branch if LS half is .NE.
  1382. 00088 +A 0736 b6   61       A          LDA   XREG1$   
  1383. 00088 +                                IFNE  (LOW)!>8 
  1384. 00088 +                                ENDC           
  1385. 00088 +A 0738 26   02    073c          BNE   .00057   Branch if MS half is .NE.
  1386.  
  1387. M6805 Portable Cross Assembler  0.05  test1.s  Page 26
  1388.  Wed May 16 10:07:20 1990  
  1389. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1390. M6805 macro tests: low RAM subr's 
  1391. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1392. 00088 +A 073a 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1393. 00088 +A 073c b6   b9       A .00057   LDA   TEMPA$   
  1394. 00088 +A 073e 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1395. 00089         MACRO INV                CPXR  #,HIGH   !-------------------------
  1396. 00089 +                                IFEQ  NARG-1   
  1397. 00089 +                                ENDC           
  1398. 00089 +                                IFEQ  NARG-2   
  1399. 00089 +                                IFC   '#','#'  
  1400. 00089 +                                IFEQ  HIGH     
  1401. 00089 +                                ENDC           
  1402. 00089 +A 0740 b7   b9       A          STA   TEMPA$   
  1403. 00089 +A 0742 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1404. 00089 +A 0744 b6   62       A          LDA   XREG1$+1 
  1405. 00089 +                                IFNE  (HIGH)!.$FF
  1406. 00089 +A 0746 a1   fe       A          CMP   #(HIGH)!.$FF
  1407. 00089 +                                ENDC           
  1408. 00089 +A 0748 26   08    0752          BNE   .00058   Branch if LS half is .NE.
  1409. 00089 +A 074a b6   61       A          LDA   XREG1$   
  1410. 00089 +                                IFNE  (HIGH)!>8
  1411. 00089 +A 074c a1   1e       A          CMP   #(HIGH)!>8
  1412. 00089 +                                ENDC           
  1413. 00089 +A 074e 26   02    0752          BNE   .00058   Branch if MS half is .NE.
  1414. 00089 +A 0750 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1415. 00089 +A 0752 b6   b9       A .00058   LDA   TEMPA$   
  1416. 00089 +A 0754 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1417. 00090         MACRO INV                CPXR  #,HIGH0  !-------------------------
  1418. 00090 +                                IFEQ  NARG-1   
  1419. 00090 +                                ENDC           
  1420. 00090 +                                IFEQ  NARG-2   
  1421. 00090 +                                IFC   '#','#'  
  1422. 00090 +                                IFEQ  HIGH0    
  1423. 00090 +                                ENDC           
  1424. 00090 +A 0756 b7   b9       A          STA   TEMPA$   
  1425. 00090 +A 0758 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1426. 00090 +A 075a b6   62       A          LDA   XREG1$+1 
  1427. 00090 +                                IFNE  (HIGH0)!.$FF
  1428. 00090 +                                ENDC           
  1429. 00090 +A 075c 26   08    0766          BNE   .00059   Branch if LS half is .NE.
  1430. 00090 +A 075e b6   61       A          LDA   XREG1$   
  1431. 00090 +                                IFNE  (HIGH0)!>8
  1432. 00090 +A 0760 a1   1e       A          CMP   #(HIGH0)!>8
  1433. 00090 +                                ENDC           
  1434. 00090 +A 0762 26   02    0766          BNE   .00059   Branch if MS half is .NE.
  1435. 00090 +A 0764 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1436. 00090 +A 0766 b6   b9       A .00059   LDA   TEMPA$   
  1437. 00090 +A 0768 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1438. 00091                         
  1439. 00092                         * @@@@@@@@ YREG tests start here
  1440. 00093         MACRO INV                LDAXY ,YREG    !-------------------------
  1441. 00093 +                                IFNC  'YREG','XREG'
  1442. 00093 +                                IFNC  'YREG','YREG'
  1443. 00093 +                                ENDC           
  1444.  
  1445. M6805 Portable Cross Assembler  0.05  test1.s  Page 27
  1446.  Wed May 16 10:07:20 1990  
  1447. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1448. M6805 macro tests: low RAM subr's 
  1449. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1450. 00093 +                                ENDC           
  1451. 00093 +                                IFC   '',''    
  1452. 00093 +A 076a bd   68       A          JSR   LDAYREG  Default offset= 0
  1453. 00094         MACRO INV                LDAXY 0,YREG   !-------------------------
  1454. 00094 +                                IFNC  'YREG','XREG'
  1455. 00094 +                                IFNC  'YREG','YREG'
  1456. 00094 +                                ENDC           
  1457. 00094 +                                ENDC           
  1458. 00094 +                                IFC   '0',''   
  1459. 00094 +                                ENDC           
  1460. 00094 +                                IFNC  '0',''   
  1461. 00094 +                                IFEQ  0        
  1462. 00094 +A 076c bd   68       A          JSR   LDAYREG  Offset= 0
  1463. 00095         MACRO INV                LDAXY 5,YREG   !-------------------------
  1464. 00095 +                                IFNC  'YREG','XREG'
  1465. 00095 +                                IFNC  'YREG','YREG'
  1466. 00095 +                                ENDC           
  1467. 00095 +                                ENDC           
  1468. 00095 +                                IFC   '5',''   
  1469. 00095 +                                ENDC           
  1470. 00095 +                                IFNC  '5',''   
  1471. 00095 +                                IFEQ  5        
  1472. 00095 +                                ENDC           
  1473. 00095 +                                IFNE  5        
  1474. 00095 +A 076e b6   6a       A          LDA   YREG1$+1 Set nREG= offset + nREG
  1475. 00095 +A 0770 ab   05       A          ADD   #(5)!.$FF
  1476. 00095 +A 0772 b7   6a       A          STA   YREG1$+1 
  1477. 00095 +A 0774 b6   69       A          LDA   YREG1$   
  1478. 00095 +A 0776 a9   00       A          ADC   #(5)!>8  
  1479. 00095 +A 0778 b7   69       A          STA   YREG1$   
  1480. 00095 +A 077a bd   68       A          JSR   LDAYREG  Offset= 0
  1481. 00095 +A 077c b7   b9       A          STA   TEMPA$   
  1482. 00095 +A 077e b6   6d       A          LDA   YREG2$   Restore nREG
  1483. 00095 +A 0780 b7   69       A          STA   YREG1$   
  1484. 00095 +A 0782 b6   6e       A          LDA   YREG2$+1 
  1485. 00095 +A 0784 b7   6a       A          STA   YREG1$+1 
  1486. 00095 +A 0786 b6   b9       A          LDA   TEMPA$   
  1487. 00096         MACRO INV                LDAXY LOW,YREG !------------------------
  1488. 00096 +                                IFNC  'YREG','XREG'
  1489. 00096 +                                IFNC  'YREG','YREG'
  1490. 00096 +                                ENDC           
  1491. 00096 +                                ENDC           
  1492. 00096 +                                IFC   'LOW','' 
  1493. 00096 +                                ENDC           
  1494. 00096 +                                IFNC  'LOW','' 
  1495. 00096 +                                IFEQ  LOW      
  1496. 00096 +                                ENDC           
  1497. 00096 +                                IFNE  LOW      
  1498. 00096 +A 0788 b6   6a       A          LDA   YREG1$+1 Set nREG= offset + nREG
  1499. 00096 +A 078a ab   50       A          ADD   #(LOW)!.$FF
  1500. 00096 +A 078c b7   6a       A          STA   YREG1$+1 
  1501. 00096 +A 078e b6   69       A          LDA   YREG1$   
  1502.  
  1503. M6805 Portable Cross Assembler  0.05  test1.s  Page 28
  1504.  Wed May 16 10:07:20 1990  
  1505. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1506. M6805 macro tests: low RAM subr's 
  1507. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1508. 00096 +A 0790 a9   00       A          ADC   #(LOW)!>8
  1509. 00096 +A 0792 b7   69       A          STA   YREG1$   
  1510. 00096 +A 0794 bd   68       A          JSR   LDAYREG  Offset= 0
  1511. 00096 +A 0796 b7   b9       A          STA   TEMPA$   
  1512. 00096 +A 0798 b6   6d       A          LDA   YREG2$   Restore nREG
  1513. 00096 +A 079a b7   69       A          STA   YREG1$   
  1514. 00096 +A 079c b6   6e       A          LDA   YREG2$+1 
  1515. 00096 +A 079e b7   6a       A          STA   YREG1$+1 
  1516. 00096 +A 07a0 b6   b9       A          LDA   TEMPA$   
  1517. 00097         MACRO INV                LDAXY HIGH,YREG !-----------------------
  1518. 00097 +                                IFNC  'YREG','XREG'
  1519. 00097 +                                IFNC  'YREG','YREG'
  1520. 00097 +                                ENDC           
  1521. 00097 +                                ENDC           
  1522. 00097 +                                IFC   'HIGH',''
  1523. 00097 +                                ENDC           
  1524. 00097 +                                IFNC  'HIGH',''
  1525. 00097 +                                IFEQ  HIGH     
  1526. 00097 +                                ENDC           
  1527. 00097 +                                IFNE  HIGH     
  1528. 00097 +A 07a2 b6   6a       A          LDA   YREG1$+1 Set nREG= offset + nREG
  1529. 00097 +A 07a4 ab   fe       A          ADD   #(HIGH)!.$FF
  1530. 00097 +A 07a6 b7   6a       A          STA   YREG1$+1 
  1531. 00097 +A 07a8 b6   69       A          LDA   YREG1$   
  1532. 00097 +A 07aa a9   1e       A          ADC   #(HIGH)!>8
  1533. 00097 +A 07ac b7   69       A          STA   YREG1$   
  1534. 00097 +A 07ae bd   68       A          JSR   LDAYREG  Offset= 0
  1535. 00097 +A 07b0 b7   b9       A          STA   TEMPA$   
  1536. 00097 +A 07b2 b6   6d       A          LDA   YREG2$   Restore nREG
  1537. 00097 +A 07b4 b7   69       A          STA   YREG1$   
  1538. 00097 +A 07b6 b6   6e       A          LDA   YREG2$+1 
  1539. 00097 +A 07b8 b7   6a       A          STA   YREG1$+1 
  1540. 00097 +A 07ba b6   b9       A          LDA   TEMPA$   
  1541. 00098                         
  1542. 00099         MACRO INV                STAXY ,YREG    !-------------------------
  1543. 00099 +                                IFNC  'YREG','XREG'
  1544. 00099 +                                IFNC  'YREG','YREG'
  1545. 00099 +                                ENDC           
  1546. 00099 +                                ENDC           
  1547. 00099 +                                IFC   '',''    
  1548. 00099 +A 07bc bd   6c       A          JSR   STAYREG  Default offset= 0
  1549. 00100         MACRO INV                STAXY 0,YREG   !-------------------------
  1550. 00100 +                                IFNC  'YREG','XREG'
  1551. 00100 +                                IFNC  'YREG','YREG'
  1552. 00100 +                                ENDC           
  1553. 00100 +                                ENDC           
  1554. 00100 +                                IFC   '0',''   
  1555. 00100 +                                ENDC           
  1556. 00100 +                                IFNC  '0',''   
  1557. 00100 +                                IFEQ  0        
  1558. 00100 +A 07be bd   6c       A          JSR   STAYREG  Offset= 0
  1559. 00101         MACRO INV                STAXY 5,YREG   !-------------------------
  1560.  
  1561. M6805 Portable Cross Assembler  0.05  test1.s  Page 29
  1562.  Wed May 16 10:07:20 1990  
  1563. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1564. M6805 macro tests: low RAM subr's 
  1565. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1566. 00101 +                                IFNC  'YREG','XREG'
  1567. 00101 +                                IFNC  'YREG','YREG'
  1568. 00101 +                                ENDC           
  1569. 00101 +                                ENDC           
  1570. 00101 +                                IFC   '5',''   
  1571. 00101 +                                ENDC           
  1572. 00101 +                                IFNC  '5',''   
  1573. 00101 +                                IFEQ  5        
  1574. 00101 +                                ENDC           
  1575. 00101 +                                IFNE  5        
  1576. 00101 +A 07c0 b7   b9       A          STA   TEMPA$   
  1577. 00101 +A 07c2 b6   6e       A          LDA   YREG2$+1 Set nREG= offset + nREG
  1578. 00101 +A 07c4 ab   05       A          ADD   #(5)!.$FF
  1579. 00101 +A 07c6 b7   6e       A          STA   YREG2$+1 
  1580. 00101 +A 07c8 b6   6d       A          LDA   YREG2$   
  1581. 00101 +A 07ca a9   00       A          ADC   #(5)!>8  
  1582. 00101 +A 07cc b7   6d       A          STA   YREG2$   
  1583. 00101 +A 07ce b6   b9       A          LDA   TEMPA$   
  1584. 00101 +A 07d0 bd   6c       A          JSR   STAYREG  Offset= 0
  1585. 00101 +A 07d2 b6   69       A          LDA   YREG1$   Restore nREG
  1586. 00101 +A 07d4 b7   6d       A          STA   YREG2$   
  1587. 00101 +A 07d6 b6   6a       A          LDA   YREG1$+1 
  1588. 00101 +A 07d8 b7   6e       A          STA   YREG2$+1 
  1589. 00101 +A 07da b6   b9       A          LDA   TEMPA$   
  1590. 00102         MACRO INV                STAXY LOW,YREG !------------------------
  1591. 00102 +                                IFNC  'YREG','XREG'
  1592. 00102 +                                IFNC  'YREG','YREG'
  1593. 00102 +                                ENDC           
  1594. 00102 +                                ENDC           
  1595. 00102 +                                IFC   'LOW','' 
  1596. 00102 +                                ENDC           
  1597. 00102 +                                IFNC  'LOW','' 
  1598. 00102 +                                IFEQ  LOW      
  1599. 00102 +                                ENDC           
  1600. 00102 +                                IFNE  LOW      
  1601. 00102 +A 07dc b7   b9       A          STA   TEMPA$   
  1602. 00102 +A 07de b6   6e       A          LDA   YREG2$+1 Set nREG= offset + nREG
  1603. 00102 +A 07e0 ab   50       A          ADD   #(LOW)!.$FF
  1604. 00102 +A 07e2 b7   6e       A          STA   YREG2$+1 
  1605. 00102 +A 07e4 b6   6d       A          LDA   YREG2$   
  1606. 00102 +A 07e6 a9   00       A          ADC   #(LOW)!>8
  1607. 00102 +A 07e8 b7   6d       A          STA   YREG2$   
  1608. 00102 +A 07ea b6   b9       A          LDA   TEMPA$   
  1609. 00102 +A 07ec bd   6c       A          JSR   STAYREG  Offset= 0
  1610. 00102 +A 07ee b6   69       A          LDA   YREG1$   Restore nREG
  1611. 00102 +A 07f0 b7   6d       A          STA   YREG2$   
  1612. 00102 +A 07f2 b6   6a       A          LDA   YREG1$+1 
  1613. 00102 +A 07f4 b7   6e       A          STA   YREG2$+1 
  1614. 00102 +A 07f6 b6   b9       A          LDA   TEMPA$   
  1615. 00103         MACRO INV                STAXY HIGH,YREG !-----------------------
  1616. 00103 +                                IFNC  'YREG','XREG'
  1617. 00103 +                                IFNC  'YREG','YREG'
  1618.  
  1619. M6805 Portable Cross Assembler  0.05  test1.s  Page 30
  1620.  Wed May 16 10:07:20 1990  
  1621. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1622. M6805 macro tests: low RAM subr's 
  1623. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1624. 00103 +                                ENDC           
  1625. 00103 +                                ENDC           
  1626. 00103 +                                IFC   'HIGH',''
  1627. 00103 +                                ENDC           
  1628. 00103 +                                IFNC  'HIGH',''
  1629. 00103 +                                IFEQ  HIGH     
  1630. 00103 +                                ENDC           
  1631. 00103 +                                IFNE  HIGH     
  1632. 00103 +A 07f8 b7   b9       A          STA   TEMPA$   
  1633. 00103 +A 07fa b6   6e       A          LDA   YREG2$+1 Set nREG= offset + nREG
  1634. 00103 +A 07fc ab   fe       A          ADD   #(HIGH)!.$FF
  1635. 00103 +A 07fe b7   6e       A          STA   YREG2$+1 
  1636. 00103 +A 0800 b6   6d       A          LDA   YREG2$   
  1637. 00103 +A 0802 a9   1e       A          ADC   #(HIGH)!>8
  1638. 00103 +A 0804 b7   6d       A          STA   YREG2$   
  1639. 00103 +A 0806 b6   b9       A          LDA   TEMPA$   
  1640. 00103 +A 0808 bd   6c       A          JSR   STAYREG  Offset= 0
  1641. 00103 +A 080a b6   69       A          LDA   YREG1$   Restore nREG
  1642. 00103 +A 080c b7   6d       A          STA   YREG2$   
  1643. 00103 +A 080e b6   6a       A          LDA   YREG1$+1 
  1644. 00103 +A 0810 b7   6e       A          STA   YREG2$+1 
  1645. 00103 +A 0812 b6   b9       A          LDA   TEMPA$   
  1646. 00104                         
  1647. 00105         MACRO INV                LDYR  ZERO     !-------------------------
  1648. 00105 +                                IFEQ  NARG-1   
  1649. 00105 +A 0814 b7   b9       A          STA   TEMPA$   
  1650. 00105 +A 0816 b6   00       A          LDA   (ZERO)   
  1651. 00105 +A 0818 b7   69       A          STA   YREG1$   
  1652. 00105 +A 081a b7   6d       A          STA   YREG2$   
  1653. 00105 +A 081c b6   01       A          LDA   (ZERO)+1 
  1654. 00105 +A 081e b7   6a       A          STA   YREG1$+1 
  1655. 00105 +A 0820 b7   6e       A          STA   YREG2$+1 
  1656. 00105 +                                IFEQ  YREG1$!.$FF00
  1657. 00105 +A 0822 b6   b9       A          LDA   TEMPA$   
  1658. 00105 +A 0824 3d   69       A          TST   YREG1$   
  1659. 00105 +                                ENDC           
  1660. 00105 +                                IFNE  YREG1$!.$FF00
  1661. 00105 +                                ENDC           
  1662. 00106         MACRO INV                LDYR  LOW      !-------------------------
  1663. 00106 +                                IFEQ  NARG-1   
  1664. 00106 +A 0826 b7   b9       A          STA   TEMPA$   
  1665. 00106 +A 0828 b6   50       A          LDA   (LOW)    
  1666. 00106 +A 082a b7   69       A          STA   YREG1$   
  1667. 00106 +A 082c b7   6d       A          STA   YREG2$   
  1668. 00106 +A 082e b6   51       A          LDA   (LOW)+1  
  1669. 00106 +A 0830 b7   6a       A          STA   YREG1$+1 
  1670. 00106 +A 0832 b7   6e       A          STA   YREG2$+1 
  1671. 00106 +                                IFEQ  YREG1$!.$FF00
  1672. 00106 +A 0834 b6   b9       A          LDA   TEMPA$   
  1673. 00106 +A 0836 3d   69       A          TST   YREG1$   
  1674. 00106 +                                ENDC           
  1675. 00106 +                                IFNE  YREG1$!.$FF00
  1676.  
  1677. M6805 Portable Cross Assembler  0.05  test1.s  Page 31
  1678.  Wed May 16 10:07:20 1990  
  1679. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1680. M6805 macro tests: low RAM subr's 
  1681. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1682. 00106 +                                ENDC           
  1683. 00107         MACRO INV                LDYR  HIGH     !-------------------------
  1684. 00107 +                                IFEQ  NARG-1   
  1685. 00107 +A 0838 b7   b9       A          STA   TEMPA$   
  1686. 00107 +A 083a c6   1efe     A          LDA   (HIGH)   
  1687. 00107 +A 083d b7   69       A          STA   YREG1$   
  1688. 00107 +A 083f b7   6d       A          STA   YREG2$   
  1689. 00107 +A 0841 c6   1eff     A          LDA   (HIGH)+1 
  1690. 00107 +A 0844 b7   6a       A          STA   YREG1$+1 
  1691. 00107 +A 0846 b7   6e       A          STA   YREG2$+1 
  1692. 00107 +                                IFEQ  YREG1$!.$FF00
  1693. 00107 +A 0848 b6   b9       A          LDA   TEMPA$   
  1694. 00107 +A 084a 3d   69       A          TST   YREG1$   
  1695. 00107 +                                ENDC           
  1696. 00107 +                                IFNE  YREG1$!.$FF00
  1697. 00107 +                                ENDC           
  1698. 00108         MACRO INV                LDYR  #,0      !-------------------------
  1699. 00108 +                                IFEQ  NARG-1   
  1700. 00108 +                                ENDC           
  1701. 00108 +                                IFEQ  NARG-2   
  1702. 00108 +                                IFC   '#','#'  
  1703. 00108 +                                IFEQ  YREG1$!.$FF00 ! YREG in low memory?
  1704. 00108 +                                IFEQ  0        !   #0 value?
  1705. 00108 +A 084c 3f   6a       A          CLR   YREG1$+1 
  1706. 00108 +A 084e 3f   6e       A          CLR   YREG2$+1 
  1707. 00108 +A 0850 3f   69       A          CLR   YREG1$   
  1708. 00108 +A 0852 3f   6d       A          CLR   YREG2$   
  1709. 00109         MACRO INV                LDYR  #,LOW    !-------------------------
  1710. 00109 +                                IFEQ  NARG-1   
  1711. 00109 +                                ENDC           
  1712. 00109 +                                IFEQ  NARG-2   
  1713. 00109 +                                IFC   '#','#'  
  1714. 00109 +                                IFEQ  YREG1$!.$FF00 ! YREG in low memory?
  1715. 00109 +                                IFEQ  LOW      !   #0 value?
  1716. 00109 +                                ENDC           
  1717. 00109 +                                IFNE  LOW      !   not #0 value?
  1718. 00109 +A 0854 b7   b9       A          STA   TEMPA$   
  1719. 00109 +                                IFEQ  (LOW)!.$FF
  1720. 00109 +                                ENDC           
  1721. 00109 +                                IFNE  (LOW)!.$FF
  1722. 00109 +A 0856 a6   50       A          LDA   #(LOW)!.$FF
  1723. 00109 +A 0858 b7   6a       A          STA   YREG1$+1 
  1724. 00109 +A 085a b7   6e       A          STA   YREG2$+1 
  1725. 00109 +                                ENDC           
  1726. 00109 +                                IFEQ  (LOW)!>8 
  1727. 00109 +A 085c 3f   69       A          CLR   YREG1$   
  1728. 00109 +A 085e 3f   6d       A          CLR   YREG2$   
  1729. 00109 +                                ENDC           
  1730. 00109 +                                IFNE  (LOW)!>8 
  1731. 00109 +                                ENDC           
  1732. 00109 +A 0860 b6   b9       A          LDA   TEMPA$   
  1733. 00109 +A 0862 3d   69       A          TST   YREG1$   
  1734.  
  1735. M6805 Portable Cross Assembler  0.05  test1.s  Page 32
  1736.  Wed May 16 10:07:20 1990  
  1737. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1738. M6805 macro tests: low RAM subr's 
  1739. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1740. 00110         MACRO INV                LDYR  #,HIGH   !-------------------------
  1741. 00110 +                                IFEQ  NARG-1   
  1742. 00110 +                                ENDC           
  1743. 00110 +                                IFEQ  NARG-2   
  1744. 00110 +                                IFC   '#','#'  
  1745. 00110 +                                IFEQ  YREG1$!.$FF00 ! YREG in low memory?
  1746. 00110 +                                IFEQ  HIGH     !   #0 value?
  1747. 00110 +                                ENDC           
  1748. 00110 +                                IFNE  HIGH     !   not #0 value?
  1749. 00110 +A 0864 b7   b9       A          STA   TEMPA$   
  1750. 00110 +                                IFEQ  (HIGH)!.$FF
  1751. 00110 +                                ENDC           
  1752. 00110 +                                IFNE  (HIGH)!.$FF
  1753. 00110 +A 0866 a6   fe       A          LDA   #(HIGH)!.$FF
  1754. 00110 +A 0868 b7   6a       A          STA   YREG1$+1 
  1755. 00110 +A 086a b7   6e       A          STA   YREG2$+1 
  1756. 00110 +                                ENDC           
  1757. 00110 +                                IFEQ  (HIGH)!>8
  1758. 00110 +                                ENDC           
  1759. 00110 +                                IFNE  (HIGH)!>8
  1760. 00110 +A 086c a6   1e       A          LDA   #(HIGH)!>8
  1761. 00110 +A 086e b7   69       A          STA   YREG1$   
  1762. 00110 +A 0870 b7   6d       A          STA   YREG2$   
  1763. 00110 +                                ENDC           
  1764. 00110 +A 0872 b6   b9       A          LDA   TEMPA$   
  1765. 00110 +A 0874 3d   69       A          TST   YREG1$   
  1766. 00111         MACRO INV                LDYR  #,HIGH0  !-------------------------
  1767. 00111 +                                IFEQ  NARG-1   
  1768. 00111 +                                ENDC           
  1769. 00111 +                                IFEQ  NARG-2   
  1770. 00111 +                                IFC   '#','#'  
  1771. 00111 +                                IFEQ  YREG1$!.$FF00 ! YREG in low memory?
  1772. 00111 +                                IFEQ  HIGH0    !   #0 value?
  1773. 00111 +                                ENDC           
  1774. 00111 +                                IFNE  HIGH0    !   not #0 value?
  1775. 00111 +A 0876 b7   b9       A          STA   TEMPA$   
  1776. 00111 +                                IFEQ  (HIGH0)!.$FF
  1777. 00111 +A 0878 3f   6a       A          CLR   YREG1$+1 
  1778. 00111 +A 087a 3f   6e       A          CLR   YREG2$+1 
  1779. 00111 +                                ENDC           
  1780. 00111 +                                IFNE  (HIGH0)!.$FF
  1781. 00111 +                                ENDC           
  1782. 00111 +                                IFEQ  (HIGH0)!>8
  1783. 00111 +                                ENDC           
  1784. 00111 +                                IFNE  (HIGH0)!>8
  1785. 00111 +A 087c a6   1e       A          LDA   #(HIGH0)!>8
  1786. 00111 +A 087e b7   69       A          STA   YREG1$   
  1787. 00111 +A 0880 b7   6d       A          STA   YREG2$   
  1788. 00111 +                                ENDC           
  1789. 00111 +A 0882 b6   b9       A          LDA   TEMPA$   
  1790. 00111 +A 0884 3d   69       A          TST   YREG1$   
  1791. 00112                         
  1792.  
  1793. M6805 Portable Cross Assembler  0.05  test1.s  Page 33
  1794.  Wed May 16 10:07:20 1990  
  1795. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1796. M6805 macro tests: low RAM subr's 
  1797. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1798. 00113         MACRO INV                STYR  LOW      !-------------------------
  1799. 00113 +A 0886 b7   b9       A          STA   TEMPA$   
  1800. 00113 +A 0888 b6   69       A          LDA   YREG1$   
  1801. 00113 +A 088a b7   50       A          STA   (LOW)    
  1802. 00113 +A 088c b6   6a       A          LDA   YREG1$+1 
  1803. 00113 +A 088e b7   51       A          STA   (LOW)+1  
  1804. 00113 +                                IFEQ  YREG1$!.$FF00
  1805. 00113 +A 0890 b6   b9       A          LDA   TEMPA$   
  1806. 00113 +A 0892 3d   69       A          TST   YREG1$   
  1807. 00113 +                                ENDC           
  1808. 00113 +                                IFNE  YREG1$!.$FF00
  1809. 00113 +                                ENDC           
  1810. 00114         MACRO INV                STYR  HIGH     !-------------------------
  1811. 00114 +A 0894 b7   b9       A          STA   TEMPA$   
  1812. 00114 +A 0896 b6   69       A          LDA   YREG1$   
  1813. 00114 +A 0898 c7   1efe     A          STA   (HIGH)   
  1814. 00114 +A 089b b6   6a       A          LDA   YREG1$+1 
  1815. 00114 +A 089d c7   1eff     A          STA   (HIGH)+1 
  1816. 00114 +                                IFEQ  YREG1$!.$FF00
  1817. 00114 +A 08a0 b6   b9       A          LDA   TEMPA$   
  1818. 00114 +A 08a2 3d   69       A          TST   YREG1$   
  1819. 00114 +                                ENDC           
  1820. 00114 +                                IFNE  YREG1$!.$FF00
  1821. 00114 +                                ENDC           
  1822. 00115                         
  1823. 00116         MACRO INV                INCYR          !-------------------------
  1824. 00116 +                                IFEQ  NARG     
  1825. 00116 +                                IFEQ  YREG1$!.$FF00
  1826. 00116 +A 08a4 3c   6a       A          INC   YREG1$+1 
  1827. 00116 +A 08a6 3c   6e       A          INC   YREG2$+1 
  1828. 00116 +A 08a8 26   04    08ae          BNE   .00079   
  1829. 00116 +A 08aa 3c   69       A          INC   YREG1$   
  1830. 00116 +A 08ac 3c   6d       A          INC   YREG2$   
  1831. 00116 +A 08ae      08ae     A .00079   EQU   *        
  1832. 00117         MACRO INV                INCYR LOW      !-------------------------
  1833. 00117 +                                IFEQ  NARG     
  1834. 00117 +                                ENDC           
  1835. 00117 +                                IFEQ  NARG-1   
  1836. 00117 +A 08ae b7   b9       A          STA   TEMPA$   
  1837. 00117 +A 08b0 b6   6a       A          LDA   YREG1$+1 
  1838. 00117 +A 08b2 bb   51       A          ADD   (LOW)+1  
  1839. 00117 +A 08b4 b7   6a       A          STA   YREG1$+1 
  1840. 00117 +A 08b6 b7   6e       A          STA   YREG2$+1 
  1841. 00117 +A 08b8 b6   69       A          LDA   YREG1$   
  1842. 00117 +A 08ba b9   50       A          ADC   LOW      
  1843. 00117 +A 08bc b7   69       A          STA   YREG1$   
  1844. 00117 +A 08be b7   6d       A          STA   YREG2$   
  1845. 00117 +A 08c0 ba   6a       A          ORA   YREG1$+1 
  1846. 00117 +A 08c2 b7   bd       A          STA   TESTA$   
  1847. 00117 +A 08c4 b6   b9       A          LDA   TEMPA$   
  1848. 00117 +A 08c6 3d   bd       A          TST   TESTA$   
  1849. 00118         MACRO INV                INCYR HIGH     !-------------------------
  1850.  
  1851. M6805 Portable Cross Assembler  0.05  test1.s  Page 34
  1852.  Wed May 16 10:07:20 1990  
  1853. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1854. M6805 macro tests: low RAM subr's 
  1855. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1856. 00118 +                                IFEQ  NARG     
  1857. 00118 +                                ENDC           
  1858. 00118 +                                IFEQ  NARG-1   
  1859. 00118 +A 08c8 b7   b9       A          STA   TEMPA$   
  1860. 00118 +A 08ca b6   6a       A          LDA   YREG1$+1 
  1861. 00118 +A 08cc cb   1eff     A          ADD   (HIGH)+1 
  1862. 00118 +A 08cf b7   6a       A          STA   YREG1$+1 
  1863. 00118 +A 08d1 b7   6e       A          STA   YREG2$+1 
  1864. 00118 +A 08d3 b6   69       A          LDA   YREG1$   
  1865. 00118 +A 08d5 c9   1efe     A          ADC   HIGH     
  1866. 00118 +A 08d8 b7   69       A          STA   YREG1$   
  1867. 00118 +A 08da b7   6d       A          STA   YREG2$   
  1868. 00118 +A 08dc ba   6a       A          ORA   YREG1$+1 
  1869. 00118 +A 08de b7   bd       A          STA   TESTA$   
  1870. 00118 +A 08e0 b6   b9       A          LDA   TEMPA$   
  1871. 00118 +A 08e2 3d   bd       A          TST   TESTA$   
  1872. 00119         MACRO INV                INCYR #,LOW    !-------------------------
  1873. 00119 +                                IFEQ  NARG     
  1874. 00119 +                                ENDC           
  1875. 00119 +                                IFEQ  NARG-1   
  1876. 00119 +                                ENDC           
  1877. 00119 +                                IFEQ  NARG-2   
  1878. 00119 +                                IFC   '#','#'  
  1879. 00119 +A 08e4 b7   b9       A          STA   TEMPA$   
  1880. 00119 +A 08e6 b6   6a       A          LDA   YREG1$+1 
  1881. 00119 +A 08e8 ab   50       A          ADD   #(LOW)!.$FF
  1882. 00119 +A 08ea b7   6a       A          STA   YREG1$+1 
  1883. 00119 +A 08ec b7   6e       A          STA   YREG2$+1 
  1884. 00119 +A 08ee b6   69       A          LDA   YREG1$   
  1885. 00119 +A 08f0 a9   00       A          ADC   #(LOW)!>8
  1886. 00119 +A 08f2 b7   69       A          STA   YREG1$   
  1887. 00119 +A 08f4 b7   6d       A          STA   YREG2$   
  1888. 00119 +A 08f6 ba   62       A          ORA   XREG1$+1 
  1889. 00119 +A 08f8 b7   bd       A          STA   TESTA$   
  1890. 00119 +A 08fa b6   b9       A          LDA   TEMPA$   
  1891. 00119 +A 08fc 3d   bd       A          TST   TESTA$   
  1892. 00120         MACRO INV                INCYR #,HIGH   !-------------------------
  1893. 00120 +                                IFEQ  NARG     
  1894. 00120 +                                ENDC           
  1895. 00120 +                                IFEQ  NARG-1   
  1896. 00120 +                                ENDC           
  1897. 00120 +                                IFEQ  NARG-2   
  1898. 00120 +                                IFC   '#','#'  
  1899. 00120 +A 08fe b7   b9       A          STA   TEMPA$   
  1900. 00120 +A 0900 b6   6a       A          LDA   YREG1$+1 
  1901. 00120 +A 0902 ab   fe       A          ADD   #(HIGH)!.$FF
  1902. 00120 +A 0904 b7   6a       A          STA   YREG1$+1 
  1903. 00120 +A 0906 b7   6e       A          STA   YREG2$+1 
  1904. 00120 +A 0908 b6   69       A          LDA   YREG1$   
  1905. 00120 +A 090a a9   1e       A          ADC   #(HIGH)!>8
  1906. 00120 +A 090c b7   69       A          STA   YREG1$   
  1907. 00120 +A 090e b7   6d       A          STA   YREG2$   
  1908.  
  1909. M6805 Portable Cross Assembler  0.05  test1.s  Page 35
  1910.  Wed May 16 10:07:20 1990  
  1911. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1912. M6805 macro tests: low RAM subr's 
  1913. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1914. 00120 +A 0910 ba   62       A          ORA   XREG1$+1 
  1915. 00120 +A 0912 b7   bd       A          STA   TESTA$   
  1916. 00120 +A 0914 b6   b9       A          LDA   TEMPA$   
  1917. 00120 +A 0916 3d   bd       A          TST   TESTA$   
  1918. 00121                         
  1919. 00122         MACRO INV                DECYR          !-------------------------
  1920. 00122 +                                IFEQ  NARG     
  1921. 00122 +A 0918 b7   b9       A          STA   TEMPA$   
  1922. 00122 +A 091a b6   6a       A          LDA   YREG1$+1 
  1923. 00122 +A 091c a0   01       A          SUB   #1       
  1924. 00122 +A 091e b7   6a       A          STA   YREG1$+1 
  1925. 00122 +A 0920 b7   6e       A          STA   YREG2$+1 
  1926. 00122 +A 0922 b6   69       A          LDA   YREG1$   
  1927. 00122 +A 0924 a2   00       A          SBC   #0       
  1928. 00122 +A 0926 b7   69       A          STA   YREG1$   
  1929. 00122 +A 0928 b7   6d       A          STA   YREG2$   
  1930. 00122 +A 092a ba   6a       A          ORA   YREG1$+1 
  1931. 00122 +A 092c b7   bd       A          STA   TESTA$   
  1932. 00122 +A 092e b6   b9       A          LDA   TEMPA$   
  1933. 00122 +A 0930 3d   bd       A          TST   TESTA$   
  1934. 00123         MACRO INV                DECYR LOW      !-------------------------
  1935. 00123 +                                IFEQ  NARG     
  1936. 00123 +                                ENDC           
  1937. 00123 +                                IFEQ  NARG-1   
  1938. 00123 +A 0932 b7   b9       A          STA   TEMPA$   
  1939. 00123 +A 0934 b6   6a       A          LDA   YREG1$+1 
  1940. 00123 +A 0936 b0   51       A          SUB   (LOW)+1  
  1941. 00123 +A 0938 b7   6a       A          STA   YREG1$+1 
  1942. 00123 +A 093a b7   6e       A          STA   YREG2$+1 
  1943. 00123 +A 093c b6   69       A          LDA   YREG1$   
  1944. 00123 +A 093e b2   50       A          SBC   LOW      
  1945. 00123 +A 0940 b7   69       A          STA   YREG1$   
  1946. 00123 +A 0942 b7   6d       A          STA   YREG2$   
  1947. 00123 +A 0944 ba   6a       A          ORA   YREG1$+1 
  1948. 00123 +A 0946 b7   bd       A          STA   TESTA$   
  1949. 00123 +A 0948 b6   b9       A          LDA   TEMPA$   
  1950. 00123 +A 094a 3d   bd       A          TST   TESTA$   
  1951. 00124         MACRO INV                DECYR HIGH     !-------------------------
  1952. 00124 +                                IFEQ  NARG     
  1953. 00124 +                                ENDC           
  1954. 00124 +                                IFEQ  NARG-1   
  1955. 00124 +A 094c b7   b9       A          STA   TEMPA$   
  1956. 00124 +A 094e b6   6a       A          LDA   YREG1$+1 
  1957. 00124 +A 0950 c0   1eff     A          SUB   (HIGH)+1 
  1958. 00124 +A 0953 b7   6a       A          STA   YREG1$+1 
  1959. 00124 +A 0955 b7   6e       A          STA   YREG2$+1 
  1960. 00124 +A 0957 b6   69       A          LDA   YREG1$   
  1961. 00124 +A 0959 c2   1efe     A          SBC   HIGH     
  1962. 00124 +A 095c b7   69       A          STA   YREG1$   
  1963. 00124 +A 095e b7   6d       A          STA   YREG2$   
  1964. 00124 +A 0960 ba   6a       A          ORA   YREG1$+1 
  1965. 00124 +A 0962 b7   bd       A          STA   TESTA$   
  1966.  
  1967. M6805 Portable Cross Assembler  0.05  test1.s  Page 36
  1968.  Wed May 16 10:07:20 1990  
  1969. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1970. M6805 macro tests: low RAM subr's 
  1971. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1972. 00124 +A 0964 b6   b9       A          LDA   TEMPA$   
  1973. 00124 +A 0966 3d   bd       A          TST   TESTA$   
  1974. 00125         MACRO INV                DECYR #,LOW    !-------------------------
  1975. 00125 +                                IFEQ  NARG     
  1976. 00125 +                                ENDC           
  1977. 00125 +                                IFEQ  NARG-1   
  1978. 00125 +                                ENDC           
  1979. 00125 +                                IFEQ  NARG-2   
  1980. 00125 +                                IFC   '#','#'  
  1981. 00125 +A 0968 b7   b9       A          STA   TEMPA$   
  1982. 00125 +A 096a b6   6a       A          LDA   YREG1$+1 
  1983. 00125 +A 096c a0   50       A          SUB   #(LOW)!.$FF
  1984. 00125 +A 096e b7   6a       A          STA   YREG1$+1 
  1985. 00125 +A 0970 b7   6e       A          STA   YREG2$+1 
  1986. 00125 +A 0972 b6   69       A          LDA   YREG1$   
  1987. 00125 +A 0974 a2   00       A          SBC   #(LOW)!>8
  1988. 00125 +A 0976 b7   69       A          STA   YREG1$   
  1989. 00125 +A 0978 b7   6d       A          STA   YREG2$   
  1990. 00125 +A 097a ba   6a       A          ORA   YREG1$+1 
  1991. 00125 +A 097c b7   bd       A          STA   TESTA$   
  1992. 00125 +A 097e b6   b9       A          LDA   TEMPA$   
  1993. 00125 +A 0980 3d   bd       A          TST   TESTA$   
  1994. 00126         MACRO INV                DECYR #,HIGH   !-------------------------
  1995. 00126 +                                IFEQ  NARG     
  1996. 00126 +                                ENDC           
  1997. 00126 +                                IFEQ  NARG-1   
  1998. 00126 +                                ENDC           
  1999. 00126 +                                IFEQ  NARG-2   
  2000. 00126 +                                IFC   '#','#'  
  2001. 00126 +A 0982 b7   b9       A          STA   TEMPA$   
  2002. 00126 +A 0984 b6   6a       A          LDA   YREG1$+1 
  2003. 00126 +A 0986 a0   fe       A          SUB   #(HIGH)!.$FF
  2004. 00126 +A 0988 b7   6a       A          STA   YREG1$+1 
  2005. 00126 +A 098a b7   6e       A          STA   YREG2$+1 
  2006. 00126 +A 098c b6   69       A          LDA   YREG1$   
  2007. 00126 +A 098e a2   1e       A          SBC   #(HIGH)!>8
  2008. 00126 +A 0990 b7   69       A          STA   YREG1$   
  2009. 00126 +A 0992 b7   6d       A          STA   YREG2$   
  2010. 00126 +A 0994 ba   6a       A          ORA   YREG1$+1 
  2011. 00126 +A 0996 b7   bd       A          STA   TESTA$   
  2012. 00126 +A 0998 b6   b9       A          LDA   TEMPA$   
  2013. 00126 +A 099a 3d   bd       A          TST   TESTA$   
  2014. 00127                         
  2015. 00128         MACRO INV                CPYR  ZERO     !-------------------------
  2016. 00128 +                                IFEQ  NARG-1   
  2017. 00128 +A 099c b7   b9       A          STA   TEMPA$   
  2018. 00128 +A 099e 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2019. 00128 +A 09a0 b6   6a       A          LDA   YREG1$+1 
  2020. 00128 +A 09a2 b1   01       A          CMP   (ZERO)+1 
  2021. 00128 +A 09a4 26   08    09ae          BNE   .00089   Branch if LS half is .NE.
  2022. 00128 +A 09a6 b6   69       A          LDA   YREG1$   
  2023. 00128 +A 09a8 b1   00       A          CMP   (ZERO)   
  2024.  
  2025. M6805 Portable Cross Assembler  0.05  test1.s  Page 37
  2026.  Wed May 16 10:07:20 1990  
  2027. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2028. M6805 macro tests: low RAM subr's 
  2029. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2030. 00128 +A 09aa 26   02    09ae          BNE   .00089   Branch if MS half is .NE.
  2031. 00128 +A 09ac 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2032. 00128 +A 09ae b6   b9       A .00089   LDA   TEMPA$   
  2033. 00128 +A 09b0 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2034. 00129         MACRO INV                CPYR  LOW      !-------------------------
  2035. 00129 +                                IFEQ  NARG-1   
  2036. 00129 +A 09b2 b7   b9       A          STA   TEMPA$   
  2037. 00129 +A 09b4 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2038. 00129 +A 09b6 b6   6a       A          LDA   YREG1$+1 
  2039. 00129 +A 09b8 b1   51       A          CMP   (LOW)+1  
  2040. 00129 +A 09ba 26   08    09c4          BNE   .00090   Branch if LS half is .NE.
  2041. 00129 +A 09bc b6   69       A          LDA   YREG1$   
  2042. 00129 +A 09be b1   50       A          CMP   (LOW)    
  2043. 00129 +A 09c0 26   02    09c4          BNE   .00090   Branch if MS half is .NE.
  2044. 00129 +A 09c2 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2045. 00129 +A 09c4 b6   b9       A .00090   LDA   TEMPA$   
  2046. 00129 +A 09c6 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2047. 00130         MACRO INV                CPYR  HIGH     !-------------------------
  2048. 00130 +                                IFEQ  NARG-1   
  2049. 00130 +A 09c8 b7   b9       A          STA   TEMPA$   
  2050. 00130 +A 09ca 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2051. 00130 +A 09cc b6   6a       A          LDA   YREG1$+1 
  2052. 00130 +A 09ce c1   1eff     A          CMP   (HIGH)+1 
  2053. 00130 +A 09d1 26   09    09dc          BNE   .00091   Branch if LS half is .NE.
  2054. 00130 +A 09d3 b6   69       A          LDA   YREG1$   
  2055. 00130 +A 09d5 c1   1efe     A          CMP   (HIGH)   
  2056. 00130 +A 09d8 26   02    09dc          BNE   .00091   Branch if MS half is .NE.
  2057. 00130 +A 09da 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2058. 00130 +A 09dc b6   b9       A .00091   LDA   TEMPA$   
  2059. 00130 +A 09de 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2060. 00131         MACRO INV                CPYR  #,0      !-------------------------
  2061. 00131 +                                IFEQ  NARG-1   
  2062. 00131 +                                ENDC           
  2063. 00131 +                                IFEQ  NARG-2   
  2064. 00131 +                                IFC   '#','#'  
  2065. 00131 +                                IFEQ  0        
  2066. 00131 +                                IFEQ  YREG1$!.$FF00
  2067. 00131 +A 09e0 3d   6a       A          TST   YREG1$+1 
  2068. 00131 +A 09e2 26   02    09e6          BNE   .00092   Branch if LS half is .NE.
  2069. 00131 +A 09e4 3d   69       A          TST   YREG1$   
  2070. 00131 +A 09e6      09e6     A .00092   EQU   *        
  2071. 00132         MACRO INV                CPYR  #,LOW    !-------------------------
  2072. 00132 +                                IFEQ  NARG-1   
  2073. 00132 +                                ENDC           
  2074. 00132 +                                IFEQ  NARG-2   
  2075. 00132 +                                IFC   '#','#'  
  2076. 00132 +                                IFEQ  LOW      
  2077. 00132 +                                ENDC           
  2078. 00132 +A 09e6 b7   b9       A          STA   TEMPA$   
  2079. 00132 +A 09e8 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2080. 00132 +A 09ea b6   6a       A          LDA   YREG1$+1 
  2081. 00132 +                                IFNE  (LOW)!.$FF
  2082.  
  2083. M6805 Portable Cross Assembler  0.05  test1.s  Page 38
  2084.  Wed May 16 10:07:20 1990  
  2085. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2086. M6805 macro tests: low RAM subr's 
  2087. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2088. 00132 +A 09ec a1   50       A          CMP   #(LOW)!.$FF
  2089. 00132 +                                ENDC           
  2090. 00132 +A 09ee 26   06    09f6          BNE   .00093   Branch if LS half is .NE.
  2091. 00132 +A 09f0 b6   69       A          LDA   YREG1$   
  2092. 00132 +                                IFNE  (LOW)!>8 
  2093. 00132 +                                ENDC           
  2094. 00132 +A 09f2 26   02    09f6          BNE   .00093   Branch if MS half is .NE.
  2095. 00132 +A 09f4 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2096. 00132 +A 09f6 b6   b9       A .00093   LDA   TEMPA$   
  2097. 00132 +A 09f8 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2098. 00133         MACRO INV                CPYR  #,HIGH   !-------------------------
  2099. 00133 +                                IFEQ  NARG-1   
  2100. 00133 +                                ENDC           
  2101. 00133 +                                IFEQ  NARG-2   
  2102. 00133 +                                IFC   '#','#'  
  2103. 00133 +                                IFEQ  HIGH     
  2104. 00133 +                                ENDC           
  2105. 00133 +A 09fa b7   b9       A          STA   TEMPA$   
  2106. 00133 +A 09fc 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2107. 00133 +A 09fe b6   6a       A          LDA   YREG1$+1 
  2108. 00133 +                                IFNE  (HIGH)!.$FF
  2109. 00133 +A 0a00 a1   fe       A          CMP   #(HIGH)!.$FF
  2110. 00133 +                                ENDC           
  2111. 00133 +A 0a02 26   08    0a0c          BNE   .00094   Branch if LS half is .NE.
  2112. 00133 +A 0a04 b6   69       A          LDA   YREG1$   
  2113. 00133 +                                IFNE  (HIGH)!>8
  2114. 00133 +A 0a06 a1   1e       A          CMP   #(HIGH)!>8
  2115. 00133 +                                ENDC           
  2116. 00133 +A 0a08 26   02    0a0c          BNE   .00094   Branch if MS half is .NE.
  2117. 00133 +A 0a0a 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2118. 00133 +A 0a0c b6   b9       A .00094   LDA   TEMPA$   
  2119. 00133 +A 0a0e 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2120. 00134         MACRO INV                CPYR  #,HIGH0  !-------------------------
  2121. 00134 +                                IFEQ  NARG-1   
  2122. 00134 +                                ENDC           
  2123. 00134 +                                IFEQ  NARG-2   
  2124. 00134 +                                IFC   '#','#'  
  2125. 00134 +                                IFEQ  HIGH0    
  2126. 00134 +                                ENDC           
  2127. 00134 +A 0a10 b7   b9       A          STA   TEMPA$   
  2128. 00134 +A 0a12 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2129. 00134 +A 0a14 b6   6a       A          LDA   YREG1$+1 
  2130. 00134 +                                IFNE  (HIGH0)!.$FF
  2131. 00134 +                                ENDC           
  2132. 00134 +A 0a16 26   08    0a20          BNE   .00095   Branch if LS half is .NE.
  2133. 00134 +A 0a18 b6   69       A          LDA   YREG1$   
  2134. 00134 +                                IFNE  (HIGH0)!>8
  2135. 00134 +A 0a1a a1   1e       A          CMP   #(HIGH0)!>8
  2136. 00134 +                                ENDC           
  2137. 00134 +A 0a1c 26   02    0a20          BNE   .00095   Branch if MS half is .NE.
  2138. 00134 +A 0a1e 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2139. 00134 +A 0a20 b6   b9       A .00095   LDA   TEMPA$   
  2140.  
  2141. M6805 Portable Cross Assembler  0.05  test1.s  Page 39
  2142.  Wed May 16 10:07:20 1990  
  2143. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2144. M6805 macro tests: low RAM subr's 
  2145. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2146. 00134 +A 0a22 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2147. 00135                         
  2148. 00136                         * @@@@@@@@ DEC tests start here
  2149. 00137         MACRO INV                DEC.B LOW      !-------------------------
  2150. 00137 +                                IFEQ  NARG-1   
  2151. 00137 +                                IFEQ  (LOW)!.$FF00
  2152. 00137 +A 0a24 3a   50       A          DEC   LOW      
  2153. 00138         MACRO INV                DEC.B #,5,LOW  !-------------------------
  2154. 00138 +                                IFEQ  NARG-1   
  2155. 00138 +                                ENDC           
  2156. 00138 +                                IFEQ  NARG-2   
  2157. 00138 +                                ENDC           
  2158. 00138 +                                IFEQ  NARG-3   
  2159. 00138 +                                IFC   '#','#'  
  2160. 00138 +A 0a26 b7   b9       A          STA   TEMPA$   
  2161. 00138 +A 0a28 b6   50       A          LDA   LOW      
  2162. 00138 +A 0a2a a0   05       A          SUB   #5       
  2163. 00138 +A 0a2c b7   50       A          STA   LOW      
  2164. 00138 +                                IFEQ  (LOW)!.$FF00
  2165. 00138 +A 0a2e b6   b9       A          LDA   TEMPA$   
  2166. 00138 +A 0a30 3d   50       A          TST   LOW      
  2167. 00139         MACRO INV                DEC.B CNTL,LOW !------------------------
  2168. 00139 +                                IFEQ  NARG-1   
  2169. 00139 +                                ENDC           
  2170. 00139 +                                IFEQ  NARG-2   
  2171. 00139 +A 0a32 b7   b9       A          STA   TEMPA$   
  2172. 00139 +A 0a34 b6   50       A          LDA   LOW      
  2173. 00139 +A 0a36 b0   52       A          SUB   CNTL     
  2174. 00139 +A 0a38 b7   50       A          STA   LOW      
  2175. 00139 +                                IFEQ  (LOW)!.$FF00
  2176. 00139 +A 0a3a b6   b9       A          LDA   TEMPA$   
  2177. 00139 +A 0a3c 3d   50       A          TST   LOW      
  2178. 00140         MACRO INV                DEC.B CNTH,LOW !------------------------
  2179. 00140 +                                IFEQ  NARG-1   
  2180. 00140 +                                ENDC           
  2181. 00140 +                                IFEQ  NARG-2   
  2182. 00140 +A 0a3e b7   b9       A          STA   TEMPA$   
  2183. 00140 +A 0a40 b6   50       A          LDA   LOW      
  2184. 00140 +A 0a42 c0   1efc     A          SUB   CNTH     
  2185. 00140 +A 0a45 b7   50       A          STA   LOW      
  2186. 00140 +                                IFEQ  (LOW)!.$FF00
  2187. 00140 +A 0a47 b6   b9       A          LDA   TEMPA$   
  2188. 00140 +A 0a49 3d   50       A          TST   LOW      
  2189. 00141                         
  2190. 00142         MACRO INV                DEC.W LOW      !-------------------------
  2191. 00142 +                                IFEQ  NARG-1   
  2192. 00142 +A 0a4b b7   b9       A          STA   TEMPA$   
  2193. 00142 +A 0a4d b6   51       A          LDA   (LOW)+1  
  2194. 00142 +A 0a4f a0   01       A          SUB   #1       
  2195. 00142 +A 0a51 b7   51       A          STA   (LOW)+1  
  2196. 00142 +A 0a53 b6   50       A          LDA   LOW      
  2197. 00142 +A 0a55 a2   00       A          SBC   #0       
  2198.  
  2199. M6805 Portable Cross Assembler  0.05  test1.s  Page 40
  2200.  Wed May 16 10:07:20 1990  
  2201. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2202. M6805 macro tests: low RAM subr's 
  2203. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2204. 00142 +A 0a57 b7   50       A          STA   LOW      
  2205. 00142 +A 0a59 ba   51       A          ORA   (LOW)+1  
  2206. 00142 +A 0a5b b7   bd       A          STA   TESTA$   
  2207. 00142 +A 0a5d b6   b9       A          LDA   TEMPA$   
  2208. 00142 +A 0a5f 3d   bd       A          TST   TESTA$   
  2209. 00143         MACRO INV                DEC.W #,5,LOW  !-------------------------
  2210. 00143 +                                IFEQ  NARG-1   
  2211. 00143 +                                ENDC           
  2212. 00143 +                                IFEQ  NARG-2   
  2213. 00143 +                                ENDC           
  2214. 00143 +                                IFEQ  NARG-3   
  2215. 00143 +                                IFC   '#','#'  
  2216. 00143 +A 0a61 b7   b9       A          STA   TEMPA$   
  2217. 00143 +A 0a63 b6   51       A          LDA   (LOW)+1  
  2218. 00143 +A 0a65 a0   05       A          SUB   #(5)!.$FF
  2219. 00143 +A 0a67 b7   51       A          STA   (LOW)+1  
  2220. 00143 +A 0a69 b6   50       A          LDA   LOW      
  2221. 00143 +A 0a6b a2   00       A          SBC   #(5)!>8  
  2222. 00143 +A 0a6d b7   50       A          STA   LOW      
  2223. 00143 +A 0a6f ba   51       A          ORA   (LOW)+1  
  2224. 00143 +A 0a71 b7   bd       A          STA   TESTA$   
  2225. 00143 +A 0a73 b6   b9       A          LDA   TEMPA$   
  2226. 00143 +A 0a75 3d   bd       A          TST   TESTA$   
  2227. 00144         MACRO INV                DEC.W CNTL,LOW !------------------------
  2228. 00144 +                                IFEQ  NARG-1   
  2229. 00144 +                                ENDC           
  2230. 00144 +                                IFEQ  NARG-2   
  2231. 00144 +A 0a77 b7   b9       A          STA   TEMPA$   
  2232. 00144 +A 0a79 b6   51       A          LDA   (LOW)+1  
  2233. 00144 +A 0a7b b0   53       A          SUB   (CNTL)+1 
  2234. 00144 +A 0a7d b7   51       A          STA   (LOW)+1  
  2235. 00144 +A 0a7f b6   50       A          LDA   LOW      
  2236. 00144 +A 0a81 b2   52       A          SBC   CNTL     
  2237. 00144 +A 0a83 b7   50       A          STA   LOW      
  2238. 00144 +A 0a85 ba   51       A          ORA   (LOW)+1  
  2239. 00144 +A 0a87 b7   bd       A          STA   TESTA$   
  2240. 00144 +A 0a89 b6   b9       A          LDA   TEMPA$   
  2241. 00144 +A 0a8b 3d   bd       A          TST   TESTA$   
  2242. 00145         MACRO INV                DEC.W CNTH,LOW !------------------------
  2243. 00145 +                                IFEQ  NARG-1   
  2244. 00145 +                                ENDC           
  2245. 00145 +                                IFEQ  NARG-2   
  2246. 00145 +A 0a8d b7   b9       A          STA   TEMPA$   
  2247. 00145 +A 0a8f b6   51       A          LDA   (LOW)+1  
  2248. 00145 +A 0a91 c0   1efd     A          SUB   (CNTH)+1 
  2249. 00145 +A 0a94 b7   51       A          STA   (LOW)+1  
  2250. 00145 +A 0a96 b6   50       A          LDA   LOW      
  2251. 00145 +A 0a98 c2   1efc     A          SBC   CNTH     
  2252. 00145 +A 0a9b b7   50       A          STA   LOW      
  2253. 00145 +A 0a9d ba   51       A          ORA   (LOW)+1  
  2254. 00145 +A 0a9f b7   bd       A          STA   TESTA$   
  2255. 00145 +A 0aa1 b6   b9       A          LDA   TEMPA$   
  2256.  
  2257. M6805 Portable Cross Assembler  0.05  test1.s  Page 41
  2258.  Wed May 16 10:07:20 1990  
  2259. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2260. M6805 macro tests: low RAM subr's 
  2261. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2262. 00145 +A 0aa3 3d   bd       A          TST   TESTA$   
  2263. 00146                         
  2264. 00147         MACRO INV                INC.B LOW      !-------------------------
  2265. 00147 +                                IFEQ  NARG-1   
  2266. 00147 +                                IFEQ  (LOW)!.$FF00
  2267. 00147 +A 0aa5 3c   50       A          INC   LOW      
  2268. 00148         MACRO INV                INC.B #,5,LOW  !-------------------------
  2269. 00148 +                                IFEQ  NARG-1   
  2270. 00148 +                                ENDC           
  2271. 00148 +                                IFEQ  NARG-2   
  2272. 00148 +                                ENDC           
  2273. 00148 +                                IFEQ  NARG-3   
  2274. 00148 +                                IFC   '#','#'  
  2275. 00148 +A 0aa7 b7   b9       A          STA   TEMPA$   
  2276. 00148 +A 0aa9 b6   50       A          LDA   LOW      
  2277. 00148 +A 0aab ab   05       A          ADD   #5       
  2278. 00148 +A 0aad b7   50       A          STA   LOW      
  2279. 00148 +                                IFEQ  (LOW)!.$FF00
  2280. 00148 +A 0aaf b6   b9       A          LDA   TEMPA$   
  2281. 00148 +A 0ab1 3d   50       A          TST   LOW      
  2282. 00149         MACRO INV                INC.B CNTL,LOW !------------------------
  2283. 00149 +                                IFEQ  NARG-1   
  2284. 00149 +                                ENDC           
  2285. 00149 +                                IFEQ  NARG-2   
  2286. 00149 +A 0ab3 b7   b9       A          STA   TEMPA$   
  2287. 00149 +A 0ab5 b6   50       A          LDA   LOW      
  2288. 00149 +A 0ab7 bb   52       A          ADD   CNTL     
  2289. 00149 +A 0ab9 b7   50       A          STA   LOW      
  2290. 00149 +                                IFEQ  (LOW)!.$FF00
  2291. 00149 +A 0abb b6   b9       A          LDA   TEMPA$   
  2292. 00149 +A 0abd 3d   50       A          TST   LOW      
  2293. 00150         MACRO INV                INC.B CNTH,LOW !------------------------
  2294. 00150 +                                IFEQ  NARG-1   
  2295. 00150 +                                ENDC           
  2296. 00150 +                                IFEQ  NARG-2   
  2297. 00150 +A 0abf b7   b9       A          STA   TEMPA$   
  2298. 00150 +A 0ac1 b6   50       A          LDA   LOW      
  2299. 00150 +A 0ac3 cb   1efc     A          ADD   CNTH     
  2300. 00150 +A 0ac6 b7   50       A          STA   LOW      
  2301. 00150 +                                IFEQ  (LOW)!.$FF00
  2302. 00150 +A 0ac8 b6   b9       A          LDA   TEMPA$   
  2303. 00150 +A 0aca 3d   50       A          TST   LOW      
  2304. 00151                         
  2305. 00152         MACRO INV                INC.W LOW      !-------------------------
  2306. 00152 +                                IFEQ  NARG-1   
  2307. 00152 +                                IFEQ  (LOW)!.$FF00
  2308. 00152 +A 0acc 3c   51       A          INC   (LOW)+1  
  2309. 00152 +A 0ace 26   02    0ad2          BNE   .00108   
  2310. 00152 +A 0ad0 3c   50       A          INC   LOW      
  2311. 00152 +A 0ad2      0ad2     A .00108   EQU   *        
  2312. 00153         MACRO INV                INC.W #,5,LOW  !-------------------------
  2313. 00153 +                                IFEQ  NARG-1   
  2314.  
  2315. M6805 Portable Cross Assembler  0.05  test1.s  Page 42
  2316.  Wed May 16 10:07:20 1990  
  2317. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2318. M6805 macro tests: low RAM subr's 
  2319. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2320. 00153 +                                ENDC           
  2321. 00153 +                                IFEQ  NARG-2   
  2322. 00153 +                                ENDC           
  2323. 00153 +                                IFEQ  NARG-3   
  2324. 00153 +                                IFC   '#','#'  
  2325. 00153 +A 0ad2 b7   b9       A          STA   TEMPA$   
  2326. 00153 +A 0ad4 b6   51       A          LDA   (LOW)+1  
  2327. 00153 +A 0ad6 ab   05       A          ADD   #(5)!.$FF
  2328. 00153 +A 0ad8 b7   51       A          STA   (LOW)+1  
  2329. 00153 +A 0ada b6   50       A          LDA   LOW      
  2330. 00153 +A 0adc a9   00       A          ADC   #(5)!>8  
  2331. 00153 +A 0ade b7   50       A          STA   LOW      
  2332. 00153 +A 0ae0 ba   51       A          ORA   (LOW)+1  
  2333. 00153 +A 0ae2 b7   bd       A          STA   TESTA$   
  2334. 00153 +A 0ae4 b6   b9       A          LDA   TEMPA$   
  2335. 00153 +A 0ae6 3d   bd       A          TST   TESTA$   
  2336. 00154         MACRO INV                INC.W CNTL,LOW !------------------------
  2337. 00154 +                                IFEQ  NARG-1   
  2338. 00154 +                                ENDC           
  2339. 00154 +                                IFEQ  NARG-2   
  2340. 00154 +A 0ae8 b7   b9       A          STA   TEMPA$   
  2341. 00154 +A 0aea b6   51       A          LDA   (LOW)+1  
  2342. 00154 +A 0aec bb   53       A          ADD   (CNTL)+1 
  2343. 00154 +A 0aee b7   51       A          STA   (LOW)+1  
  2344. 00154 +A 0af0 b6   50       A          LDA   LOW      
  2345. 00154 +A 0af2 b9   52       A          ADC   CNTL     
  2346. 00154 +A 0af4 b7   50       A          STA   LOW      
  2347. 00154 +A 0af6 ba   51       A          ORA   (LOW)+1  
  2348. 00154 +A 0af8 b7   bd       A          STA   TESTA$   
  2349. 00154 +A 0afa b6   b9       A          LDA   TEMPA$   
  2350. 00154 +A 0afc 3d   bd       A          TST   TESTA$   
  2351. 00155         MACRO INV                INC.W CNTH,LOW !------------------------
  2352. 00155 +                                IFEQ  NARG-1   
  2353. 00155 +                                ENDC           
  2354. 00155 +                                IFEQ  NARG-2   
  2355. 00155 +A 0afe b7   b9       A          STA   TEMPA$   
  2356. 00155 +A 0b00 b6   51       A          LDA   (LOW)+1  
  2357. 00155 +A 0b02 cb   1efd     A          ADD   (CNTH)+1 
  2358. 00155 +A 0b05 b7   51       A          STA   (LOW)+1  
  2359. 00155 +A 0b07 b6   50       A          LDA   LOW      
  2360. 00155 +A 0b09 c9   1efc     A          ADC   CNTH     
  2361. 00155 +A 0b0c b7   50       A          STA   LOW      
  2362. 00155 +A 0b0e ba   51       A          ORA   (LOW)+1  
  2363. 00155 +A 0b10 b7   bd       A          STA   TESTA$   
  2364. 00155 +A 0b12 b6   b9       A          LDA   TEMPA$   
  2365. 00155 +A 0b14 3d   bd       A          TST   TESTA$   
  2366. 00156                         
  2367. 00157                         * @@@@@@@@ MOV tests start here
  2368. 00158         MACRO INV                MOV.B #,0,LOW  !-------------------------
  2369. 00158 +                                IFEQ  NARG-2   
  2370. 00158 +                                ENDC           
  2371. 00158 +                                IFEQ  NARG-3   
  2372.  
  2373. M6805 Portable Cross Assembler  0.05  test1.s  Page 43
  2374.  Wed May 16 10:07:20 1990  
  2375. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2376. M6805 macro tests: low RAM subr's 
  2377. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2378. 00158 +                                IFC   '#','#'  
  2379. 00158 +                                IFEQ  (LOW)!.$FF00
  2380. 00158 +                                IFEQ  0        
  2381. 00158 +A 0b16 3f   50       A          CLR   LOW      
  2382. 00159         MACRO INV                MOV.B #,5,LOW  !-------------------------
  2383. 00159 +                                IFEQ  NARG-2   
  2384. 00159 +                                ENDC           
  2385. 00159 +                                IFEQ  NARG-3   
  2386. 00159 +                                IFC   '#','#'  
  2387. 00159 +                                IFEQ  (LOW)!.$FF00
  2388. 00159 +                                IFEQ  5        
  2389. 00159 +                                ENDC           
  2390. 00159 +                                ENDC           
  2391. 00159 +A 0b18 b7   b9       A          STA   TEMPA$   
  2392. 00159 +                                IFEQ  5        
  2393. 00159 +                                ENDC           
  2394. 00159 +                                IFNE  5        
  2395. 00159 +A 0b1a a6   05       A          LDA   #5       
  2396. 00159 +                                ENDC           
  2397. 00159 +A 0b1c b7   50       A          STA   LOW      
  2398. 00159 +                                IFEQ  (LOW)!.$FF00
  2399. 00159 +A 0b1e b6   b9       A          LDA   TEMPA$   
  2400. 00159 +A 0b20 3d   50       A          TST   LOW      
  2401. 00160         MACRO INV                MOV.B CNTL,LOW !------------------------
  2402. 00160 +                                IFEQ  NARG-2   
  2403. 00160 +A 0b22 b7   b9       A          STA   TEMPA$   
  2404. 00160 +A 0b24 b6   52       A          LDA   CNTL     
  2405. 00160 +A 0b26 b7   50       A          STA   LOW      
  2406. 00160 +                                IFEQ  (LOW)!.$FF00
  2407. 00160 +A 0b28 b6   b9       A          LDA   TEMPA$   
  2408. 00160 +A 0b2a 3d   50       A          TST   LOW      
  2409. 00161         MACRO INV                MOV.B CNTH,LOW !------------------------
  2410. 00161 +                                IFEQ  NARG-2   
  2411. 00161 +A 0b2c b7   b9       A          STA   TEMPA$   
  2412. 00161 +A 0b2e c6   1efc     A          LDA   CNTH     
  2413. 00161 +A 0b31 b7   50       A          STA   LOW      
  2414. 00161 +                                IFEQ  (LOW)!.$FF00
  2415. 00161 +A 0b33 b6   b9       A          LDA   TEMPA$   
  2416. 00161 +A 0b35 3d   50       A          TST   LOW      
  2417. 00162         MACRO INV                MOV.B #,0,HIGH !------------------------
  2418. 00162 +                                IFEQ  NARG-2   
  2419. 00162 +                                ENDC           
  2420. 00162 +                                IFEQ  NARG-3   
  2421. 00162 +                                IFC   '#','#'  
  2422. 00162 +                                IFEQ  (HIGH)!.$FF00
  2423. 00162 +                                ENDC           
  2424. 00162 +A 0b37 b7   b9       A          STA   TEMPA$   
  2425. 00162 +                                IFEQ  0        
  2426. 00162 +A 0b39 4f                       CLRA           
  2427. 00162 +                                ENDC           
  2428. 00162 +                                IFNE  0        
  2429. 00162 +                                ENDC           
  2430.  
  2431. M6805 Portable Cross Assembler  0.05  test1.s  Page 44
  2432.  Wed May 16 10:07:20 1990  
  2433. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2434. M6805 macro tests: low RAM subr's 
  2435. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2436. 00162 +A 0b3a c7   1efe     A          STA   HIGH     
  2437. 00162 +                                IFEQ  (HIGH)!.$FF00
  2438. 00162 +                                ENDC           
  2439. 00162 +                                IFNE  (HIGH)!.$FF00
  2440. 00162 +A 0b3d b7   bd       A          STA   TESTA$   
  2441. 00162 +A 0b3f b6   b9       A          LDA   TEMPA$   
  2442. 00162 +A 0b41 3d   bd       A          TST   TESTA$   
  2443. 00163         MACRO INV                MOV.B #,5,HIGH !------------------------
  2444. 00163 +                                IFEQ  NARG-2   
  2445. 00163 +                                ENDC           
  2446. 00163 +                                IFEQ  NARG-3   
  2447. 00163 +                                IFC   '#','#'  
  2448. 00163 +                                IFEQ  (HIGH)!.$FF00
  2449. 00163 +                                ENDC           
  2450. 00163 +A 0b43 b7   b9       A          STA   TEMPA$   
  2451. 00163 +                                IFEQ  5        
  2452. 00163 +                                ENDC           
  2453. 00163 +                                IFNE  5        
  2454. 00163 +A 0b45 a6   05       A          LDA   #5       
  2455. 00163 +                                ENDC           
  2456. 00163 +A 0b47 c7   1efe     A          STA   HIGH     
  2457. 00163 +                                IFEQ  (HIGH)!.$FF00
  2458. 00163 +                                ENDC           
  2459. 00163 +                                IFNE  (HIGH)!.$FF00
  2460. 00163 +A 0b4a b7   bd       A          STA   TESTA$   
  2461. 00163 +A 0b4c b6   b9       A          LDA   TEMPA$   
  2462. 00163 +A 0b4e 3d   bd       A          TST   TESTA$   
  2463. 00164         MACRO INV                MOV.B CNTL,HIGH !-----------------------
  2464. 00164 +                                IFEQ  NARG-2   
  2465. 00164 +A 0b50 b7   b9       A          STA   TEMPA$   
  2466. 00164 +A 0b52 b6   52       A          LDA   CNTL     
  2467. 00164 +A 0b54 c7   1efe     A          STA   HIGH     
  2468. 00164 +                                IFEQ  (HIGH)!.$FF00
  2469. 00164 +                                ENDC           
  2470. 00164 +                                IFNE  (HIGH)!.$FF00
  2471. 00164 +                                IFEQ  (CNTL)!.$FF00
  2472. 00164 +A 0b57 b6   b9       A          LDA   TEMPA$   
  2473. 00164 +A 0b59 3d   52       A          TST   CNTL     
  2474. 00165         MACRO INV                MOV.B CNTH,HIGH !-----------------------
  2475. 00165 +                                IFEQ  NARG-2   
  2476. 00165 +A 0b5b b7   b9       A          STA   TEMPA$   
  2477. 00165 +A 0b5d c6   1efc     A          LDA   CNTH     
  2478. 00165 +A 0b60 c7   1efe     A          STA   HIGH     
  2479. 00165 +                                IFEQ  (HIGH)!.$FF00
  2480. 00165 +                                ENDC           
  2481. 00165 +                                IFNE  (HIGH)!.$FF00
  2482. 00165 +                                IFEQ  (CNTH)!.$FF00
  2483. 00165 +                                ENDC           
  2484. 00165 +                                IFNE  (CNTH)!.$FF00
  2485. 00165 +A 0b63 b7   bd       A          STA   TESTA$   
  2486. 00165 +A 0b65 b6   b9       A          LDA   TEMPA$   
  2487. 00165 +A 0b67 3d   bd       A          TST   TESTA$   
  2488.  
  2489. M6805 Portable Cross Assembler  0.05  test1.s  Page 45
  2490.  Wed May 16 10:07:20 1990  
  2491. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2492. M6805 macro tests: low RAM subr's 
  2493. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2494. 00166                         
  2495. 00167         MACRO INV                MOV.W #,0,LOW  !-------------------------
  2496. 00167 +                                IFEQ  NARG-2   
  2497. 00167 +                                ENDC           
  2498. 00167 +                                IFEQ  NARG-3   
  2499. 00167 +                                IFC   '#','#'  
  2500. 00167 +                                IFEQ  ((LOW)+1)!.$FF00
  2501. 00167 +                                IFEQ  0        
  2502. 00167 +A 0b69 3f   50       A          CLR   LOW      
  2503. 00167 +A 0b6b 3f   51       A          CLR   LOW+1    
  2504. 00168         MACRO INV                MOV.W #,5,LOW  !-------------------------
  2505. 00168 +                                IFEQ  NARG-2   
  2506. 00168 +                                ENDC           
  2507. 00168 +                                IFEQ  NARG-3   
  2508. 00168 +                                IFC   '#','#'  
  2509. 00168 +                                IFEQ  ((LOW)+1)!.$FF00
  2510. 00168 +                                IFEQ  5        
  2511. 00168 +                                ENDC           
  2512. 00168 +                                ENDC           
  2513. 00168 +A 0b6d b7   b9       A          STA   TEMPA$   
  2514. 00168 +                                IFEQ  (5)!.$00FF
  2515. 00168 +                                ENDC           
  2516. 00168 +                                IFNE  (5)!.$00FF
  2517. 00168 +A 0b6f a6   05       A          LDA   #(5)!.$00FF
  2518. 00168 +                                ENDC           
  2519. 00168 +A 0b71 b7   51       A          STA   (LOW)+1  
  2520. 00168 +                                IFEQ  (5)!>8   
  2521. 00168 +                                IFNE  (5)!.$00FF
  2522. 00168 +A 0b73 4f                       CLRA           
  2523. 00168 +                                ENDC           
  2524. 00168 +                                ENDC           
  2525. 00168 +                                IFNE  (5)!>8   
  2526. 00168 +                                ENDC           
  2527. 00168 +A 0b74 b7   50       A          STA   LOW      
  2528. 00168 +                                IFEQ  (LOW)!.$FF00
  2529. 00168 +A 0b76 b6   b9       A          LDA   TEMPA$   
  2530. 00168 +A 0b78 3d   50       A          TST   LOW      
  2531. 00169         MACRO INV                MOV.W #,CNTL,LOW !----------------------
  2532. 00169 +                                IFEQ  NARG-2   
  2533. 00169 +                                ENDC           
  2534. 00169 +                                IFEQ  NARG-3   
  2535. 00169 +                                IFC   '#','#'  
  2536. 00169 +                                IFEQ  ((LOW)+1)!.$FF00
  2537. 00169 +                                IFEQ  CNTL     
  2538. 00169 +                                ENDC           
  2539. 00169 +                                ENDC           
  2540. 00169 +A 0b7a b7   b9       A          STA   TEMPA$   
  2541. 00169 +                                IFEQ  (CNTL)!.$00FF
  2542. 00169 +                                ENDC           
  2543. 00169 +                                IFNE  (CNTL)!.$00FF
  2544. 00169 +A 0b7c a6   52       A          LDA   #(CNTL)!.$00FF
  2545. 00169 +                                ENDC           
  2546.  
  2547. M6805 Portable Cross Assembler  0.05  test1.s  Page 46
  2548.  Wed May 16 10:07:20 1990  
  2549. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2550. M6805 macro tests: low RAM subr's 
  2551. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2552. 00169 +A 0b7e b7   51       A          STA   (LOW)+1  
  2553. 00169 +                                IFEQ  (CNTL)!>8
  2554. 00169 +                                IFNE  (CNTL)!.$00FF
  2555. 00169 +A 0b80 4f                       CLRA           
  2556. 00169 +                                ENDC           
  2557. 00169 +                                ENDC           
  2558. 00169 +                                IFNE  (CNTL)!>8
  2559. 00169 +                                ENDC           
  2560. 00169 +A 0b81 b7   50       A          STA   LOW      
  2561. 00169 +                                IFEQ  (LOW)!.$FF00
  2562. 00169 +A 0b83 b6   b9       A          LDA   TEMPA$   
  2563. 00169 +A 0b85 3d   50       A          TST   LOW      
  2564. 00170         MACRO INV                MOV.W #,CNTH,LOW !----------------------
  2565. 00170 +                                IFEQ  NARG-2   
  2566. 00170 +                                ENDC           
  2567. 00170 +                                IFEQ  NARG-3   
  2568. 00170 +                                IFC   '#','#'  
  2569. 00170 +                                IFEQ  ((LOW)+1)!.$FF00
  2570. 00170 +                                IFEQ  CNTH     
  2571. 00170 +                                ENDC           
  2572. 00170 +                                ENDC           
  2573. 00170 +A 0b87 b7   b9       A          STA   TEMPA$   
  2574. 00170 +                                IFEQ  (CNTH)!.$00FF
  2575. 00170 +                                ENDC           
  2576. 00170 +                                IFNE  (CNTH)!.$00FF
  2577. 00170 +A 0b89 a6   fc       A          LDA   #(CNTH)!.$00FF
  2578. 00170 +                                ENDC           
  2579. 00170 +A 0b8b b7   51       A          STA   (LOW)+1  
  2580. 00170 +                                IFEQ  (CNTH)!>8
  2581. 00170 +                                ENDC           
  2582. 00170 +                                IFNE  (CNTH)!>8
  2583. 00170 +A 0b8d a6   1e       A          LDA   #(CNTH)!>8
  2584. 00170 +                                ENDC           
  2585. 00170 +A 0b8f b7   50       A          STA   LOW      
  2586. 00170 +                                IFEQ  (LOW)!.$FF00
  2587. 00170 +A 0b91 b6   b9       A          LDA   TEMPA$   
  2588. 00170 +A 0b93 3d   50       A          TST   LOW      
  2589. 00171         MACRO INV                MOV.W CNTL,LOW !------------------------
  2590. 00171 +                                IFEQ  NARG-2   
  2591. 00171 +A 0b95 b7   b9       A          STA   TEMPA$   
  2592. 00171 +A 0b97 b6   53       A          LDA   (CNTL)+1 
  2593. 00171 +A 0b99 b7   51       A          STA   (LOW)+1  
  2594. 00171 +A 0b9b b6   52       A          LDA   CNTL     
  2595. 00171 +A 0b9d b7   50       A          STA   LOW      
  2596. 00171 +                                IFEQ  (LOW)!.$FF00
  2597. 00171 +A 0b9f b6   b9       A          LDA   TEMPA$   
  2598. 00171 +A 0ba1 3d   50       A          TST   LOW      
  2599. 00172         MACRO INV                MOV.W CNTH,LOW !------------------------
  2600. 00172 +                                IFEQ  NARG-2   
  2601. 00172 +A 0ba3 b7   b9       A          STA   TEMPA$   
  2602. 00172 +A 0ba5 c6   1efd     A          LDA   (CNTH)+1 
  2603. 00172 +A 0ba8 b7   51       A          STA   (LOW)+1  
  2604.  
  2605. M6805 Portable Cross Assembler  0.05  test1.s  Page 47
  2606.  Wed May 16 10:07:20 1990  
  2607. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2608. M6805 macro tests: low RAM subr's 
  2609. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2610. 00172 +A 0baa c6   1efc     A          LDA   CNTH     
  2611. 00172 +A 0bad b7   50       A          STA   LOW      
  2612. 00172 +                                IFEQ  (LOW)!.$FF00
  2613. 00172 +A 0baf b6   b9       A          LDA   TEMPA$   
  2614. 00172 +A 0bb1 3d   50       A          TST   LOW      
  2615. 00173         MACRO INV                MOV.W #,0,HIGH !------------------------
  2616. 00173 +                                IFEQ  NARG-2   
  2617. 00173 +                                ENDC           
  2618. 00173 +                                IFEQ  NARG-3   
  2619. 00173 +                                IFC   '#','#'  
  2620. 00173 +                                IFEQ  ((HIGH)+1)!.$FF00
  2621. 00173 +                                ENDC           
  2622. 00173 +A 0bb3 b7   b9       A          STA   TEMPA$   
  2623. 00173 +                                IFEQ  (0)!.$00FF
  2624. 00173 +A 0bb5 4f                       CLRA           
  2625. 00173 +                                ENDC           
  2626. 00173 +                                IFNE  (0)!.$00FF
  2627. 00173 +                                ENDC           
  2628. 00173 +A 0bb6 c7   1eff     A          STA   (HIGH)+1 
  2629. 00173 +                                IFEQ  (0)!>8   
  2630. 00173 +                                IFNE  (0)!.$00FF
  2631. 00173 +                                ENDC           
  2632. 00173 +                                ENDC           
  2633. 00173 +                                IFNE  (0)!>8   
  2634. 00173 +                                ENDC           
  2635. 00173 +A 0bb9 c7   1efe     A          STA   HIGH     
  2636. 00173 +                                IFEQ  (HIGH)!.$FF00
  2637. 00173 +                                ENDC           
  2638. 00173 +                                IFNE  (HIGH)!.$FF00
  2639. 00173 +A 0bbc b7   bd       A          STA   TESTA$   
  2640. 00173 +A 0bbe b6   b9       A          LDA   TEMPA$   
  2641. 00173 +A 0bc0 3d   bd       A          TST   TESTA$   
  2642. 00174         MACRO INV                MOV.W #,5,HIGH !------------------------
  2643. 00174 +                                IFEQ  NARG-2   
  2644. 00174 +                                ENDC           
  2645. 00174 +                                IFEQ  NARG-3   
  2646. 00174 +                                IFC   '#','#'  
  2647. 00174 +                                IFEQ  ((HIGH)+1)!.$FF00
  2648. 00174 +                                ENDC           
  2649. 00174 +A 0bc2 b7   b9       A          STA   TEMPA$   
  2650. 00174 +                                IFEQ  (5)!.$00FF
  2651. 00174 +                                ENDC           
  2652. 00174 +                                IFNE  (5)!.$00FF
  2653. 00174 +A 0bc4 a6   05       A          LDA   #(5)!.$00FF
  2654. 00174 +                                ENDC           
  2655. 00174 +A 0bc6 c7   1eff     A          STA   (HIGH)+1 
  2656. 00174 +                                IFEQ  (5)!>8   
  2657. 00174 +                                IFNE  (5)!.$00FF
  2658. 00174 +A 0bc9 4f                       CLRA           
  2659. 00174 +                                ENDC           
  2660. 00174 +                                ENDC           
  2661. 00174 +                                IFNE  (5)!>8   
  2662.  
  2663. M6805 Portable Cross Assembler  0.05  test1.s  Page 48
  2664.  Wed May 16 10:07:20 1990  
  2665. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2666. M6805 macro tests: low RAM subr's 
  2667. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2668. 00174 +                                ENDC           
  2669. 00174 +A 0bca c7   1efe     A          STA   HIGH     
  2670. 00174 +                                IFEQ  (HIGH)!.$FF00
  2671. 00174 +                                ENDC           
  2672. 00174 +                                IFNE  (HIGH)!.$FF00
  2673. 00174 +A 0bcd b7   bd       A          STA   TESTA$   
  2674. 00174 +A 0bcf b6   b9       A          LDA   TEMPA$   
  2675. 00174 +A 0bd1 3d   bd       A          TST   TESTA$   
  2676. 00175         MACRO INV                MOV.W #,CNTL,HIGH !---------------------
  2677. 00175 +                                IFEQ  NARG-2   
  2678. 00175 +                                ENDC           
  2679. 00175 +                                IFEQ  NARG-3   
  2680. 00175 +                                IFC   '#','#'  
  2681. 00175 +                                IFEQ  ((HIGH)+1)!.$FF00
  2682. 00175 +                                ENDC           
  2683. 00175 +A 0bd3 b7   b9       A          STA   TEMPA$   
  2684. 00175 +                                IFEQ  (CNTL)!.$00FF
  2685. 00175 +                                ENDC           
  2686. 00175 +                                IFNE  (CNTL)!.$00FF
  2687. 00175 +A 0bd5 a6   52       A          LDA   #(CNTL)!.$00FF
  2688. 00175 +                                ENDC           
  2689. 00175 +A 0bd7 c7   1eff     A          STA   (HIGH)+1 
  2690. 00175 +                                IFEQ  (CNTL)!>8
  2691. 00175 +                                IFNE  (CNTL)!.$00FF
  2692. 00175 +A 0bda 4f                       CLRA           
  2693. 00175 +                                ENDC           
  2694. 00175 +                                ENDC           
  2695. 00175 +                                IFNE  (CNTL)!>8
  2696. 00175 +                                ENDC           
  2697. 00175 +A 0bdb c7   1efe     A          STA   HIGH     
  2698. 00175 +                                IFEQ  (HIGH)!.$FF00
  2699. 00175 +                                ENDC           
  2700. 00175 +                                IFNE  (HIGH)!.$FF00
  2701. 00175 +A 0bde b7   bd       A          STA   TESTA$   
  2702. 00175 +A 0be0 b6   b9       A          LDA   TEMPA$   
  2703. 00175 +A 0be2 3d   bd       A          TST   TESTA$   
  2704. 00176         MACRO INV                MOV.W #,CNTH,HIGH !---------------------
  2705. 00176 +                                IFEQ  NARG-2   
  2706. 00176 +                                ENDC           
  2707. 00176 +                                IFEQ  NARG-3   
  2708. 00176 +                                IFC   '#','#'  
  2709. 00176 +                                IFEQ  ((HIGH)+1)!.$FF00
  2710. 00176 +                                ENDC           
  2711. 00176 +A 0be4 b7   b9       A          STA   TEMPA$   
  2712. 00176 +                                IFEQ  (CNTH)!.$00FF
  2713. 00176 +                                ENDC           
  2714. 00176 +                                IFNE  (CNTH)!.$00FF
  2715. 00176 +A 0be6 a6   fc       A          LDA   #(CNTH)!.$00FF
  2716. 00176 +                                ENDC           
  2717. 00176 +A 0be8 c7   1eff     A          STA   (HIGH)+1 
  2718. 00176 +                                IFEQ  (CNTH)!>8
  2719. 00176 +                                ENDC           
  2720.  
  2721. M6805 Portable Cross Assembler  0.05  test1.s  Page 49
  2722.  Wed May 16 10:07:20 1990  
  2723. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2724. M6805 macro tests: low RAM subr's 
  2725. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2726. 00176 +                                IFNE  (CNTH)!>8
  2727. 00176 +A 0beb a6   1e       A          LDA   #(CNTH)!>8
  2728. 00176 +                                ENDC           
  2729. 00176 +A 0bed c7   1efe     A          STA   HIGH     
  2730. 00176 +                                IFEQ  (HIGH)!.$FF00
  2731. 00176 +                                ENDC           
  2732. 00176 +                                IFNE  (HIGH)!.$FF00
  2733. 00176 +A 0bf0 b7   bd       A          STA   TESTA$   
  2734. 00176 +A 0bf2 b6   b9       A          LDA   TEMPA$   
  2735. 00176 +A 0bf4 3d   bd       A          TST   TESTA$   
  2736. 00177         MACRO INV                MOV.W CNTL,HIGH !-----------------------
  2737. 00177 +                                IFEQ  NARG-2   
  2738. 00177 +A 0bf6 b7   b9       A          STA   TEMPA$   
  2739. 00177 +A 0bf8 b6   53       A          LDA   (CNTL)+1 
  2740. 00177 +A 0bfa c7   1eff     A          STA   (HIGH)+1 
  2741. 00177 +A 0bfd b6   52       A          LDA   CNTL     
  2742. 00177 +A 0bff c7   1efe     A          STA   HIGH     
  2743. 00177 +                                IFEQ  (HIGH)!.$FF00
  2744. 00177 +                                ENDC           
  2745. 00177 +                                IFNE  (HIGH)!.$FF00
  2746. 00177 +                                IFEQ  (CNTL)!.$FF00
  2747. 00177 +A 0c02 b6   b9       A          LDA   TEMPA$   
  2748. 00177 +A 0c04 3d   52       A          TST   CNTL     
  2749. 00178         MACRO INV                MOV.W CNTH,HIGH !-----------------------
  2750. 00178 +                                IFEQ  NARG-2   
  2751. 00178 +A 0c06 b7   b9       A          STA   TEMPA$   
  2752. 00178 +A 0c08 c6   1efd     A          LDA   (CNTH)+1 
  2753. 00178 +A 0c0b c7   1eff     A          STA   (HIGH)+1 
  2754. 00178 +A 0c0e c6   1efc     A          LDA   CNTH     
  2755. 00178 +A 0c11 c7   1efe     A          STA   HIGH     
  2756. 00178 +                                IFEQ  (HIGH)!.$FF00
  2757. 00178 +                                ENDC           
  2758. 00178 +                                IFNE  (HIGH)!.$FF00
  2759. 00178 +                                IFEQ  (CNTH)!.$FF00
  2760. 00178 +                                ENDC           
  2761. 00178 +                                IFNE  (CNTH)!.$FF00
  2762. 00178 +A 0c14 b7   bd       A          STA   TESTA$   
  2763. 00178 +A 0c16 b6   b9       A          LDA   TEMPA$   
  2764. 00178 +A 0c18 3d   bd       A          TST   TESTA$   
  2765. 00179                         
  2766. 00180                         * @@@@@@@@ MOVE tests start here
  2767. 00181         MACRO INV                MOVE  #,.RAMSBR$,#,RAMSBR$,#,RAMSZ$ !---
  2768. 00181 +                                IFNE  NARG-6   
  2769. 00181 +                                ENDC           
  2770. 00181 +                                IFC   '#','#'  ! If all immediate operands (#) and move
  2771. 00181 +                                IFC   '#','#'  ! count <=256, use short form!
  2772. 00181 +                                IFC   '#','#'  
  2773. 00181 +                                IFLE  RAMSZ$-256 ! No subr. calls!
  2774. 00181 +A 0c1a b7   b9       A          STA   TEMPA$   
  2775. 00181 +A 0c1c bf   ba       A          STX   TEMPX$   
  2776. 00181 +A 0c1e ae   10       A          LDX   #(RAMSZ$)
  2777. 00181 +A 0c20 d6   03ff     A .00132   LDA   (.RAMSBR$)-1,x
  2778.  
  2779. M6805 Portable Cross Assembler  0.05  test1.s  Page 50
  2780.  Wed May 16 10:07:20 1990  
  2781. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2782. M6805 macro tests: low RAM subr's 
  2783. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2784. 00181 +A 0c23 e75f                     STA   (RAMSBR$)-1,x
  2785. 00181 +A 0c25 5a                       DEX            
  2786. 00181 +A 0c26 26   f8    0c20          BNE   .00132   
  2787. 00181 +A 0c28 b6   b9       A          LDA   TEMPA$   
  2788. 00181 +A 0c2a be   ba       A          LDX   TEMPX$   
  2789. 00182         MACRO INV                MOVE  #,.RAMSBR$,#,RAMSBR$,,CNTL !------
  2790. 00182 +                                IFNE  NARG-6   
  2791. 00182 +                                ENDC           
  2792. 00182 +                                IFC   '','#'   ! If all immediate operands (#) and move
  2793. 00182 +                                ENDC           
  2794. 00182 +A 0c2c b7   b9       A          STA   TEMPA$   
  2795. 00182 +A 0c2e bf   ba       A          STX   TEMPX$   
  2796. 00182 +A 0c30 b6   61       A          LDA   XREG1$   
  2797. 00182 +A 0c32 b7   bb       A          STA   TEMPXR$  
  2798. 00182 +A 0c34 b6   62       A          LDA   XREG1$+1 
  2799. 00182 +A 0c36 b7   bc       A          STA   TEMPXR$+1
  2800. 00182 +                                IFC   '#','#'  ! immediate type 'from' address?
  2801. 00182 +A 0c38 a6   00       A          LDA   #(.RAMSBR$)!.$FF
  2802. 00182 +A 0c3a b7   62       A          STA   XREG1$+1 ! Set XREG1$ = 'from' address
  2803. 00182 +A 0c3c a6   04       A          LDA   #(.RAMSBR$)!>8
  2804. 00182 +A 0c3e b7   61       A          STA   XREG1$   
  2805. 00182 +                                ENDC           
  2806. 00182 +                                IFNC  '#','#'  ! not immediate type 'from' address?
  2807. 00182 +                                ENDC           
  2808. 00182 +                                IFC   '#','#'  ! immediate type 'to' address?
  2809. 00182 +A 0c40 a6   60       A          LDA   #(RAMSBR$)!.$FF
  2810. 00182 +A 0c42 b7   66       A          STA   XREG2$+1 ! Set XREG2$ = 'to' address
  2811. 00182 +A 0c44 a6   00       A          LDA   #(RAMSBR$)!>8
  2812. 00182 +A 0c46 b7   65       A          STA   XREG2$   
  2813. 00182 +                                ENDC           
  2814. 00182 +                                IFNC  '#','#'  ! not immediate type 'to' address?
  2815. 00182 +                                ENDC           
  2816. 00182 +                                IFC   '','#'   ! immediate type length?
  2817. 00182 +                                ENDC           
  2818. 00182 +                                IFNC  '','#'   ! nonimmediate type length
  2819. 00182 +A 0c48 b6   52       A          LDA   (CNTL)!.$00FF
  2820. 00182 +A 0c4a b7   bf       A          STA   LENGTH$+1
  2821. 00182 +A 0c4c b6   00       A          LDA   (CNTL)!>8
  2822. 00182 +A 0c4e b7   be       A          STA   LENGTH$  
  2823. 00182 +A 0c50 bd   60       A .00135   JSR   LDAXREG  
  2824. 00182 +A 0c52 bd   64       A          JSR   STAXREG  
  2825. 00182 +                                IFEQ  XREG1$!.$FF00
  2826. 00182 +A 0c54 3c   62       A          INC   XREG1$+1 
  2827. 00182 +A 0c56 26   02    0c5a          BNE   .00136   
  2828. 00182 +A 0c58 3c   61       A          INC   XREG1$   
  2829. 00182 +A 0c5a 3c   66       A .00136   INC   XREG2$+1 
  2830. 00182 +A 0c5c 26   02    0c60          BNE   .00137   
  2831. 00182 +A 0c5e 3c   65       A          INC   XREG2$   
  2832. 00182 +A 0c60      0c60     A .00137   EQU   *        
  2833. 00182 +                                ENDC           
  2834. 00182 +                                IFNE  XREG1$!.$FF00
  2835. 00182 +                                ENDC           
  2836.  
  2837. M6805 Portable Cross Assembler  0.05  test1.s  Page 51
  2838.  Wed May 16 10:07:20 1990  
  2839. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2840. M6805 macro tests: low RAM subr's 
  2841. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2842. 00182 +A 0c60 b6   bf       A          LDA   LENGTH$+1
  2843. 00182 +A 0c62 a0   01       A          SUB   #1       
  2844. 00182 +A 0c64 b7   bf       A          STA   LENGTH$+1
  2845. 00182 +A 0c66 b6   be       A          LDA   LENGTH$  
  2846. 00182 +A 0c68 a2   00       A          SBC   #0       
  2847. 00182 +A 0c6a b7   be       A          STA   LENGTH$  
  2848. 00182 +A 0c6c ba   bf       A          ORA   LENGTH$+1
  2849. 00182 +A 0c6e 26   e0    0c50          BNE   .00135   
  2850. 00182 +A 0c70 b6   bb       A          LDA   TEMPXR$  
  2851. 00182 +A 0c72 b7   61       A          STA   XREG1$   
  2852. 00182 +A 0c74 b7   65       A          STA   XREG2$   
  2853. 00182 +A 0c76 b6   bc       A          LDA   TEMPXR$+1
  2854. 00182 +A 0c78 b7   62       A          STA   XREG1$+1 
  2855. 00182 +A 0c7a b7   66       A          STA   XREG2$+1 
  2856. 00182 +A 0c7c b6   b9       A          LDA   TEMPA$   
  2857. 00182 +A 0c7e be   ba       A          LDX   TEMPX$   
  2858. 00183         MACRO INV                MOVE  #,.RAMSBR$,,LOW,#,RAMSZ$ !--------
  2859. 00183 +                                IFNE  NARG-6   
  2860. 00183 +                                ENDC           
  2861. 00183 +                                IFC   '#','#'  ! If all immediate operands (#) and move
  2862. 00183 +                                IFC   '','#'   ! count <=256, use short form!
  2863. 00183 +                                ENDC           
  2864. 00183 +                                ENDC           
  2865. 00183 +A 0c80 b7   b9       A          STA   TEMPA$   
  2866. 00183 +A 0c82 bf   ba       A          STX   TEMPX$   
  2867. 00183 +A 0c84 b6   61       A          LDA   XREG1$   
  2868. 00183 +A 0c86 b7   bb       A          STA   TEMPXR$  
  2869. 00183 +A 0c88 b6   62       A          LDA   XREG1$+1 
  2870. 00183 +A 0c8a b7   bc       A          STA   TEMPXR$+1
  2871. 00183 +                                IFC   '#','#'  ! immediate type 'from' address?
  2872. 00183 +A 0c8c a6   00       A          LDA   #(.RAMSBR$)!.$FF
  2873. 00183 +A 0c8e b7   62       A          STA   XREG1$+1 ! Set XREG1$ = 'from' address
  2874. 00183 +A 0c90 a6   04       A          LDA   #(.RAMSBR$)!>8
  2875. 00183 +A 0c92 b7   61       A          STA   XREG1$   
  2876. 00183 +                                ENDC           
  2877. 00183 +                                IFNC  '#','#'  ! not immediate type 'from' address?
  2878. 00183 +                                ENDC           
  2879. 00183 +                                IFC   '','#'   ! immediate type 'to' address?
  2880. 00183 +                                ENDC           
  2881. 00183 +                                IFNC  '','#'   ! not immediate type 'to' address?
  2882. 00183 +A 0c94 b6   51       A          LDA   (LOW)+1  
  2883. 00183 +A 0c96 b7   66       A          STA   XREG2$+1 ! Set XREG2$ = 'to' address
  2884. 00183 +A 0c98 b6   50       A          LDA   (LOW)    
  2885. 00183 +A 0c9a b7   65       A          STA   XREG2$   
  2886. 00183 +                                ENDC           
  2887. 00183 +                                IFC   '#','#'  ! immediate type length?
  2888. 00183 +                                IFLE  RAMSZ$-256 !   yes:  8-bit size= use X reg.
  2889. 00183 +A 0c9c ae   10       A          LDX   #(RAMSZ$)
  2890. 00183 +A 0c9e bd   60       A .00138   JSR   LDAXREG  
  2891. 00183 +A 0ca0 bd   64       A          JSR   STAXREG  
  2892. 00183 +                                IFEQ  XREG1$!.$FF00
  2893. 00183 +A 0ca2 3c   62       A          INC   XREG1$+1 
  2894.  
  2895. M6805 Portable Cross Assembler  0.05  test1.s  Page 52
  2896.  Wed May 16 10:07:20 1990  
  2897. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2898. M6805 macro tests: low RAM subr's 
  2899. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2900. 00183 +A 0ca4 26   02    0ca8          BNE   .00139   
  2901. 00183 +A 0ca6 3c   61       A          INC   XREG1$   
  2902. 00183 +A 0ca8 3c   66       A .00139   INC   XREG2$+1 
  2903. 00183 +A 0caa 26   02    0cae          BNE   .00140   
  2904. 00183 +A 0cac 3c   65       A          INC   XREG2$   
  2905. 00183 +A 0cae      0cae     A .00140   EQU   *        
  2906. 00183 +                                ENDC           
  2907. 00183 +                                IFNE  XREG1$!.$FF00
  2908. 00183 +                                ENDC           
  2909. 00183 +A 0cae 5a                       DEX            
  2910. 00183 +A 0caf 26   ed    0c9e          BNE   .00138   
  2911. 00183 +A 0cb1 b6   bb       A          LDA   TEMPXR$  
  2912. 00183 +A 0cb3 b7   61       A          STA   XREG1$   
  2913. 00183 +A 0cb5 b7   65       A          STA   XREG2$   
  2914. 00183 +A 0cb7 b6   bc       A          LDA   TEMPXR$+1
  2915. 00183 +A 0cb9 b7   62       A          STA   XREG1$+1 
  2916. 00183 +A 0cbb b7   66       A          STA   XREG2$+1 
  2917. 00183 +A 0cbd b6   b9       A          LDA   TEMPA$   
  2918. 00183 +A 0cbf be   ba       A          LDX   TEMPX$   
  2919. 00184         MACRO INV                MOVE  ,LOW,#,RAMSBR$,#,RAMSZ$ !---------
  2920. 00184 +                                IFNE  NARG-6   
  2921. 00184 +                                ENDC           
  2922. 00184 +                                IFC   '#','#'  ! If all immediate operands (#) and move
  2923. 00184 +                                IFC   '#','#'  ! count <=256, use short form!
  2924. 00184 +                                IFC   '','#'   
  2925. 00184 +                                ENDC           
  2926. 00184 +                                ENDC           
  2927. 00184 +                                ENDC           
  2928. 00184 +A 0cc1 b7   b9       A          STA   TEMPA$   
  2929. 00184 +A 0cc3 bf   ba       A          STX   TEMPX$   
  2930. 00184 +A 0cc5 b6   61       A          LDA   XREG1$   
  2931. 00184 +A 0cc7 b7   bb       A          STA   TEMPXR$  
  2932. 00184 +A 0cc9 b6   62       A          LDA   XREG1$+1 
  2933. 00184 +A 0ccb b7   bc       A          STA   TEMPXR$+1
  2934. 00184 +                                IFC   '','#'   ! immediate type 'from' address?
  2935. 00184 +                                ENDC           
  2936. 00184 +                                IFNC  '','#'   ! not immediate type 'from' address?
  2937. 00184 +A 0ccd b6   51       A          LDA   (LOW)+1  
  2938. 00184 +A 0ccf b7   62       A          STA   XREG1$+1 ! Set XREG1$ = 'from' address
  2939. 00184 +A 0cd1 b6   50       A          LDA   (LOW)    
  2940. 00184 +A 0cd3 b7   61       A          STA   XREG1$   
  2941. 00184 +                                ENDC           
  2942. 00184 +                                IFC   '#','#'  ! immediate type 'to' address?
  2943. 00184 +A 0cd5 a6   60       A          LDA   #(RAMSBR$)!.$FF
  2944. 00184 +A 0cd7 b7   66       A          STA   XREG2$+1 ! Set XREG2$ = 'to' address
  2945. 00184 +A 0cd9 a6   00       A          LDA   #(RAMSBR$)!>8
  2946. 00184 +A 0cdb b7   65       A          STA   XREG2$   
  2947. 00184 +                                ENDC           
  2948. 00184 +                                IFNC  '#','#'  ! not immediate type 'to' address?
  2949. 00184 +                                ENDC           
  2950. 00184 +                                IFC   '#','#'  ! immediate type length?
  2951. 00184 +                                IFLE  RAMSZ$-256 !   yes:  8-bit size= use X reg.
  2952.  
  2953. M6805 Portable Cross Assembler  0.05  test1.s  Page 53
  2954.  Wed May 16 10:07:20 1990  
  2955. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2956. M6805 macro tests: low RAM subr's 
  2957. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2958. 00184 +A 0cdd ae   10       A          LDX   #(RAMSZ$)
  2959. 00184 +A 0cdf bd   60       A .00141   JSR   LDAXREG  
  2960. 00184 +A 0ce1 bd   64       A          JSR   STAXREG  
  2961. 00184 +                                IFEQ  XREG1$!.$FF00
  2962. 00184 +A 0ce3 3c   62       A          INC   XREG1$+1 
  2963. 00184 +A 0ce5 26   02    0ce9          BNE   .00142   
  2964. 00184 +A 0ce7 3c   61       A          INC   XREG1$   
  2965. 00184 +A 0ce9 3c   66       A .00142   INC   XREG2$+1 
  2966. 00184 +A 0ceb 26   02    0cef          BNE   .00143   
  2967. 00184 +A 0ced 3c   65       A          INC   XREG2$   
  2968. 00184 +A 0cef      0cef     A .00143   EQU   *        
  2969. 00184 +                                ENDC           
  2970. 00184 +                                IFNE  XREG1$!.$FF00
  2971. 00184 +                                ENDC           
  2972. 00184 +A 0cef 5a                       DEX            
  2973. 00184 +A 0cf0 26   ed    0cdf          BNE   .00141   
  2974. 00184 +A 0cf2 b6   bb       A          LDA   TEMPXR$  
  2975. 00184 +A 0cf4 b7   61       A          STA   XREG1$   
  2976. 00184 +A 0cf6 b7   65       A          STA   XREG2$   
  2977. 00184 +A 0cf8 b6   bc       A          LDA   TEMPXR$+1
  2978. 00184 +A 0cfa b7   62       A          STA   XREG1$+1 
  2979. 00184 +A 0cfc b7   66       A          STA   XREG2$+1 
  2980. 00184 +A 0cfe b6   b9       A          LDA   TEMPA$   
  2981. 00184 +A 0d00 be   ba       A          LDX   TEMPX$   
  2982. 00185                                  END            
  2983.  
  2984.  
  2985.  
  2986. Total number of errors: 0 
  2987. Total number of warnings: 0 
  2988. Total number of lines: 2345 
  2989.  
  2990.  
  2991. Number of bytes in section ASCT: 2329 
  2992.  
  2993. Number of bytes in program: 2329
  2994.  
  2995.